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 排查指南處理。