nginx は 10 月 14 日、安定版 1.30.6 とメインライン版 1.31.7 を同時に公開し、5 件のセキュリティ脆弱性をまとめて修正しました。9 月 15 日の 1.30.5 からわずか 1 か月で、今回は別の脆弱性群です。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ディレクティブで書き換えられた後にファイルパスへ対応付けられると、ワーカープロセスでバッファオーバーフローが起きる可能性があります。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 セッションチケットの鍵をローテーションしている場合、鍵の 1 つが初期化されないまま残り、セッションを偽造できる可能性があります。
- CVE-2026-97205(影響範囲 0.8.11〜1.31.6):非同期ファイル I/O(AIO)を使っていて、SSI ページに
include virtualコマンドがあると、特定の設定で解放後使用(use-after-free)が起きる可能性があります。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 の CVE ページでも 22.04 / 24.04 の大半がまだ needs-triage(評価待ち)のままです。ディストリビューションのバージョンが古いからといって安全とは限りません。5 件のうち 2 件は 0.x 時代から存在します。パッケージが出るまでは、上記の設定を使っていないか確認してください。
あわせて知っておきたいこと
同じ日に njs 1.0.2 も公開され、XML 関連の 2 件の脆弱性(CVE-2026-101025、CVE-2026-101019)が修正されました。njs モジュールを使っているなら一緒に更新してください。サイトが nginx と PHP の組み合わせなら、PHP が 10 月 21 日に修正した深刻な脆弱性のほうが急ぎなので、両方まとめて対応するのが理想です。nginx の基本設定はNginx で最初のサイトを公開する方法、HTTPS は Let's Encrypt の SSL 証明書の設定を参照し、更新後にサイトが 502 / 504 を返す場合は 502 / 504 のトラブルシューティングガイドに沿って対処してください。