NGINXにコード実行やTLS検証回避の脆弱性、2005年以来の欠陥含む5件を修正
要点
-
Webサーバー「NGINX」の脆弱性を修正したバージョン「1.30.6」および「1.31.7」が公開された。
-
任意のコード実行につながる恐れがあるメモリ破損3件を含む、計5件の脆弱性に対処した。
-
修正対象の1つは2005年5月公開のバージョン0.1.29以来、約21年間にわたり存在していた。
-
TLSセッションチケット鍵の更新不備により、クライアント証明書の検証を回避できる問題が判明した。
-
実際の悪用報告はないが、F5は一部脆弱性のCVSS v4.0深刻度スコアを9.2(Critical)と評価している。
-
Webサーバーソフトウェア「NGINX」を展開する米F5は2026年10月14日、計5件の脆弱性に対処した最新バージョン「1.30.6」および「1.31.7」をリリースした。発表によると、修正された脆弱性には遠隔からのコード実行を許す恐れがあるメモリ破損や、クライアント証明書検証を回避しうるセッション管理の欠陥などが含まれているという。現時点で脆弱性を悪用した攻撃は確認されていないものの、公式ドキュメントで推奨されている一般的な設定でも影響を受ける構成があることが示されている。
深刻度の評価差と攻撃の現状
今回修正された脆弱性に対し、NGINX公式のアドバイザリでは全5件を「Medium(中)」と評価している。一方で親会社のF5は、脆弱性の深刻度を評価する指標であるCVSS(共通脆弱性評価システム)v4.0に基づき、メモリ関連の不具合3件に対して「9.2(Critical)」という高い数値を算出した。さらにTLSの欠陥には8.3、HTTP/3の欠陥には6.9のスコアを付与している。
2026年10月15日時点において、米サイバーセキュリティ・インフラセキュリティ庁(CISA)が管理する「既知の悪用された脆弱性カタログ(KEV)」への登録は行われていない。NGINXおよびF5の双方が、これらの脆弱性を悪用した実際の攻撃活動は報告されていないと説明している。
任意のコード実行を招く恐れがある3つのメモリ脆弱性
メモリ関連の3件はいずれも、NGINXのワーカープロセスをクラッシュさせるか、攻撃者による任意のプログラム実行(RCE:リモートコード実行)につながる恐れがあるものだ。ただし、いずれの悪用にも設定ファイル内に特定のディレクティブ(設定指示)を記述している必要がある。
最も古い起源を持つ「CVE-2026-15176」は、2005年5月に公開された0.1.29から現行の1.31.6に至るすべてのリリースに存在していた欠陥だ。パスの転送処理を行うaliasとURIを変更するrewriteを併用し、さらに$request_filename変数を参照する設定において、動的メモリ領域の境界を超える「ヒープオーバーフロー」が生じるという。
2つ目の「CVE-2026-93479」(影響:1.30.0〜1.30.5、1.31.2〜1.31.6)もヒープオーバーフローを引き起こす欠陥だが、これは2026年7月15日に提供された別の脆弱性(CVE-2026-42533)の修正コードに起因する。正規表現を用いて変数を変換するmapディレクティブの処理において、バッファ保護を追加したものの予約領域へのデータ溢れが残り、後続のパッチでその長さを基に文字列サイズを決定した結果、バッファを超過する文字列が生成可能になっていた。
3つ目の「CVE-2026-97205」(影響:0.8.11〜1.31.6)は、解放済みのメモリ領域を誤参照する「Use-after-free」の不具合だ。入出力を非同期に処理するaioを有効にし、かつinclude virtualコマンドを含むSSI(Server Side Includes)ページを配信する一部の構成で、メモリ破損やコード実行につながる恐れがある。
クライアント証明書を回避するTLS不具合とHTTP/3の欠陥
残る2件は通信プロトコルの処理に関する脆弱性だ。
「CVE-2026-97629」(影響:1.23.2〜1.31.6)は、暗号化通信の接続確立手順を短縮して再接続を高速化する「TLSセッションチケット」の鍵自動ローテーションに起因する。ssl_session_cacheによる共有キャッシュを利用し、鍵ファイルを指定しない場合、NGINXが鍵を自動生成・更新する。しかし各ワーカーが持つ3つの鍵スロットのうち、更新処理でコピーされるのは2スロットのみとなっていた。そのため、第3スロットに残った未初期化メモリのデータでチケットが検証・復号されてしまい、セッションの偽造が可能になるという。F5はこの偽造について「非確定的で攻撃者が制御できない」としつつも、クライアント証明書検証の回避に悪用される恐れを指摘した。影響を受けるssl_session_cache shared:SSL:10mは公式文書の推奨設定例として広く使われている。同様の認証回避の欠陥(CVE-2025-23419)は2025年2月にも修正されていた。
5つ目の「CVE-2026-95101」(影響:1.25.0〜1.31.6)はHTTP/3の欠陥で、標準で有効なproxy_request_buffering on環境において、バックエンド宛てのリクエストへ余分なバイト列が挿入されたり、制限値(client_max_body_size)を超えるリクエストボディが渡されたりする。
即時更新が難しい環境向けの設定回避策
F5は、直ちに最新バージョンへ更新できない管理者向けに回避策を提示している。
aliasの欠陥(CVE-2026-15176)は該当箇所でのaliasや$request_filenameの利用停止、正規表現mapの欠陥(CVE-2026-93479)は名前付きキャプチャをマッチさせたブロック内のみで使うことで防げる。SSIの欠陥(CVE-2026-97205)はaioの無効化かSSI配信停止、HTTP/3(CVE-2026-95101)はproxy_request_buffering offへの変更で回避可能だ。
TLSの欠陥(CVE-2026-97629)については、共有キャッシュ設定の削除か、ssl_session_ticket_keyディレクティブによる鍵ファイルの明示的な読み込みで影響を防げるとしている。なお、セッションチケット機能を明示的に無効化(ssl_session_tickets off)している環境は本脆弱性の影響を受けない。