nginx 官方 10 月 14 日同時發布了穩定版 1.30.6 和主線版 1.31.7,一次修復 5 個安全漏洞。距離 9 月 15 日的 1.30.5 剛過一個月,這次是另一批漏洞。nginx.org 的安全公告頁把 5 個都標為 medium(中危);不過 F5 在 CVE 記錄裡給其中 3 個打了 CVSS 3.1 8.1 分(CVSS v4 9.2),所以別只看「中危」兩個字。
5 個漏洞,各自的觸發條件
- CVE-2026-15176(受影響 0.1.29–1.31.6):使用
alias指令時,如果請求 URI 先被rewrite指令改寫、再映射成檔案路徑,worker 程序可能發生緩衝區溢位。F5 評分 8.1。 - CVE-2026-93479(受影響 1.30.0–1.30.5、1.31.2–1.31.6):計算帶變數的字串表示式時可能發生緩衝區溢位,涉及 http 和 stream 模組裡的文件根目錄計算和請求記錄。F5 評分 8.1。
- CVE-2026-95101(受影響 1.25.0–1.31.6):使用 HTTP/3 時,未知訊框的一部分可能被當成請求主體,可能繞過
client_max_body_size限制,或者往代理出去的請求裡注入資料。 - CVE-2026-97629(受影響 1.23.2–1.31.6):使用 TLS 工作階段票證金鑰輪換時,有一個金鑰沒有被初始化,可能被用來偽造工作階段。
- CVE-2026-97205(受影響 0.8.11–1.31.6):開啟非同步檔案 I/O(AIO)時,如果 SSI 頁面裡有
include virtual命令,某些設定下可能出現釋放後使用。F5 評分 8.1。
怎麼查、怎麼升
- 先用
nginx -v看版本,用nginx -T匯出完整設定,搜一下alias、rewrite、ssi on、aio和listen ... quic(HTTP/3)這幾項。 - 用 nginx.org 官方套件庫的:穩定版升到 1.30.6,主線版升到 1.31.7 或之後的版本(10 月 21 日又出了 1.31.8,屬於常規更新)。升級後先執行
sudo nginx -t檢查設定,再重啟或平滑重新載入。 - 用發行版自帶 nginx 的:Debian 13 已由 DSA-6575-1 修復(
1.26.3-3+deb13u10);截至 10 月 26 日,Debian 12 在安全追蹤頁上仍標為未修復,Ubuntu 22.04 / 24.04 在 Ubuntu 的 CVE 頁面上大部分還標著待評估(needs-triage)。發行版的版本號老,不代表一定不受影響——5 個裡有 2 個從 0.x 時代就存在。修補程式出來之前,先檢查自己有沒有用到上面那幾種設定。
順帶一提
同一天 njs 也發布了 1.0.2,修復了 2 個和 XML 有關的漏洞(CVE-2026-101025、CVE-2026-101019),用了 njs 模組的一起升級。如果你的網站是 nginx 加 PHP,PHP 10 月 21 日修復的嚴重漏洞更急,最好兩個一起處理。nginx 的基礎設定見用 Nginx 架設第一個網站,HTTPS 設定見 Let's Encrypt SSL 憑證設定教學;升級後網站報 502 / 504,按 502 / 504 排查指南處理。