nginx 1.30.6・1.31.7で脆弱性5件を修正|影響を受ける設定とバージョンの確かめ方、すぐ更新できないときの回避策

nginxの脆弱性5件のアイキャッチ。修正バージョンは1.30.6と1.31.7。nginxのバージョンを確かめる、影響を受ける設定か確かめる、1.30.6以降か1.31.7以降に上げる、すぐ更新できないときはF5が示す回避策を当てる、の4つを示す図

nginx.orgは2026年10月14日に、脆弱性5件を直したnginx 1.30.6(stable)と1.31.7(mainline)を出しました。まず nginx -v でバージョンを確かめ、1.30系なら1.30.6以降、1.31系なら1.31.7以降に上げてください。Debian・Ubuntu・RHELの標準パッケージを使っていて直ったバージョンがまだ届いていないときは、自分の設定が影響を受ける条件に当てはまるかを確かめ、F5が示す回避策を当てます。

目次

結論:1.30.6以降か1.31.7以降に上げる

  • 対象:NGINX Open Source(ふつうのnginx)とNGINX Plus。CVE番号は CVE-2026-15176、CVE-2026-93479、CVE-2026-95101、CVE-2026-97629、CVE-2026-97205 の5件
  • 直ったバージョン:nginx 1.30.6(stable)と nginx 1.31.7(mainline)。10月21日には、セキュリティ修正を含まない1.31.8(mainline)も出ています
  • 重大度:nginx.orgの一覧では5件とも「medium」。F5がCVEに付けたCVSS v4.0の値は、3件が9.2、1件が8.3、1件が6.9です
  • 起きうること:3件は、特定の設定のときにワーカープロセスが落ちて再起動したり、条件によってはコードを実行されたりするおそれがあります
  • 影響を受けるのは、それぞれ特定の設定を使っているときだけです

5件の脆弱性と影響を受ける設定

表の中身は、nginx.orgのセキュリティアドバイザリと、F5のセキュリティアドバイザリ(K000162416など)・F5がCVEに登録した内容によります。影響を受けるバージョンは、nginx.orgのアドバイザリの値です。

CVE 中身 影響を受けるバージョン 影響を受ける設定
CVE-2026-15176 バッファオーバーフロー(CVSS v4.0 9.2、v3.1 8.1) 0.1.29〜1.31.6 alias を使う location で、rewrite と、$request_filename を使う set か return を組み合わせているとき。$request_filename をアクセスログの書式(log_format)で使っているときも同じ
CVE-2026-93479 バッファオーバーフロー(CVSS v4.0 9.2、v3.1 8.1) 1.30.0〜1.30.5、1.31.2〜1.31.6 map で正規表現を使い、その正規表現の取り出し(キャプチャ)の変数を、map の出力の変数より先に root やアクセスログの書式で使っているときなど
CVE-2026-97205 解放後のメモリの使用(CVSS v4.0 9.2、v3.1 8.1) 0.8.11〜1.31.6 非同期ファイル入出力(aio)を有効にし、「include virtual」を含むSSIのページを返しているとき
CVE-2026-97629 セッションの偽造(CVSS v4.0 8.3、v3.1 6.5) 1.23.2〜1.31.6 ssl_session_cache shared:名前:サイズ を使い、ssl_session_ticket_key でチケットの鍵のファイルを指定せず、鍵の自動の入れ替えを使っているとき。クライアント証明書の確認をすり抜けられるおそれがあります
CVE-2026-95101 HTTP/3でのリクエスト本文の差し込み(CVSS v4.0 6.9、v3.1 5.3) 1.25.0〜1.31.6 HTTP/3を使い、proxy_request_buffering on でプロキシしているとき(proxy_request_buffering は初期値が on)。client_max_body_size の制限をすり抜けたり、プロキシ先へのリクエストにデータを差し込まれたりするおそれがあります

CVE-2026-97629の影響を受けるバージョンの始まりは、nginx.orgでは1.23.2、CVEの登録では1.23.3となっていて、そろっていません(2026年10月22日時点)。どちらの場合も、1.30.6以降か1.31.7以降に上げれば直ります。

F5は、コードを実行されるおそれがあるのは、アドレス空間配置のランダム化(ASLR)が無効なときか、攻撃者がASLRをすり抜けられたときだとしています。

自分のnginxのバージョンを確かめる

動いているnginxのバージョンを確かめます。

nginx -v

1.30系なら nginx/1.30.6 以降、1.31系なら nginx/1.31.7 以降と出れば、5件の修正が入っています。nginx.orgのダウンロードページで、1.28.3以前は「Legacy versions」の扱いで、今回の修正は出ていません。1.29系以前を使っているときは、1.30.6以降に上げます。

あわせて、今の設定に表の設定が含まれているかを確かめます。nginx -T は、読み込まれている設定ファイルをすべて表示します。

sudo nginx -T 2>/dev/null | grep -n -E 'alias|request_filename|map |aio|ssi |ssl_session_cache|ssl_session_ticket|quic|proxy_pass|proxy_request_buffering'

何も出てこなければ、表の設定のうち多くは使っていません。ただし proxy_request_buffering は初期値が on なので、quic(HTTP/3)の行と proxy_pass の行がどちらも出てきたときは、proxy_request_buffering off と書いていなければCVE-2026-95101の条件に当てはまります。ほかに出てきた行は、表の「影響を受ける設定」と見比べます。なお、行が出たからといって、必ず影響を受けるとは限りません。

nginxを更新する

nginx.orgのパッケージを使っている場合

nginx.orgのリポジトリから入れている場合は、そのリポジトリから更新できます。Debian・Ubuntuでは次のとおりです。

sudo apt update && sudo apt install --only-upgrade nginx

RHELやその派生(Rocky Linux、AlmaLinuxなど)では次のとおりです。

sudo yum update nginx

更新したら、設定に誤りがないかを確かめてから、nginxを再起動します。

sudo nginx -t && sudo systemctl restart nginx

再起動したあと、もう一度 nginx -v でバージョンを確かめます。

Debian・Ubuntu・RHELの標準パッケージを使っている場合

OSに付いてくるnginxは、OS側で修正を取り込んだパッケージが出るのを待つことになります。10月22日6時39分(日本時間)時点で各OSの公式の情報を見ると、次の状態でした。

  • Debian:セキュリティトラッカーで、Debian 13(trixie)のnginxは、セキュリティ勧告DSA-6575-1で直ったバージョン(1.26.3-3+deb13u10)が出て「fixed」。Debian 12(bookworm)のnginxは「vulnerable」(まだ直っていない)。開発中のforkyとsidは「fixed」
  • Ubuntu:CVEのページで、22.04 LTS・24.04 LTS・26.04 LTS・26.10のnginxは「Needs evaluation」(影響を調べている途中)
  • RHEL:Red HatのCVEのページで、RHEL 8・9・10のnginxは、CVEによって「Affected」「Fix deferred」「Not affected」に分かれていて、2件(CVE-2026-97629・CVE-2026-95101)はRHELの状態がまだ載っていません

なお、nginx.orgの一覧では、CVE-2026-93479の影響を受けるのは1.30.0〜1.30.5と1.31.2〜1.31.6だけです。

直ったパッケージが出たら、ふだんのOSの更新で入ります。Debian・Ubuntuでは次のとおりです。

sudo apt update && sudo apt install --only-upgrade nginx

RHELでは次のとおりです。

sudo dnf upgrade nginx

それまでの間に、表の設定に当てはまるものがあれば、次の回避策を当てます。

すぐに更新できないときの回避策

F5がCVEに登録した回避策は次のとおりです。設定を変えたら、sudo nginx -t で誤りがないかを確かめてから反映します。

  • CVE-2026-15176:location で alias を使わない。$request_filename 変数を使わない
  • CVE-2026-93479:名前の付いていないキャプチャを使わず、名前付きのキャプチャを使い、正規表現で照合したブロックの中だけで使う
  • CVE-2026-97205:aio を無効にするか、SSIのページを返さない
  • CVE-2026-97629:ssl_session_cache shared:名前:サイズ を外すか、ssl_session_ticket_key でファイルから固定のチケットの鍵を読み込む。ssl_session_tickets off; にしているときは影響を受けません
  • CVE-2026-95101:proxy_request_buffering off にする

どの回避策も、サイトの動きが変わることがあります。たとえば alias をやめると、ファイルの置き場所の指定を書き直す必要があります。回避策はあくまで更新までのつなぎで、直ったバージョンが出たら更新してください。

よくある質問

NGINX Plusも影響を受けますか

受けます。F5が登録したCVEでは、5件ともNGINX Plusも対象です。直ったバージョンは、各CVEのF5の記事(K000162416など)で確かめてください。

nginxをリバースプロキシとして使っているだけでも関係ありますか

関係があるかは、使っている設定しだいです。CVE-2026-95101はHTTP/3でプロキシしているとき、CVE-2026-97629はTLSのセッションキャッシュの設定しだいで影響を受けます。リバースプロキシのしくみは、プロキシサーバーとは?の記事にあります。

参考リンク

確認日:2026年10月22日

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

社内エンジニアとして、SREとセキュリティの仕事をしています。サーバーの構築や運用、クラウド環境の設計にも関わってきました。趣味はゲームと漫画・アニメ。

コメント

コメントする

目次