テック技報最新号へ →
セキュリティ

NGINX の設定で脆弱な組み合わせを避ける(alias と $request_filename、正規表現 map のキャプチャ)

2026 年 10 月に修正された NGINX のヒープバッファーオーバーフロー 2 件は、特定の設定を使うときだけ悪用できる。更新が第一だが、すぐ上げられないなら設定の書き方を変えて穴を閉じられる。

@MalwareBibleJP · 2026-10-21
#nginx#web-server#config-hardening#patching#heap-overflow

対象と条件

CVE悪用できる設定影響範囲(OSS 版)緩和策
CVE-2026-15176alias と rewrite を併用し、set・return・アクセスログの書式で $request_filename を参照0.1.29〜1.30.5、1.31.0〜1.31.6alias と $request_filename を一緒に使わない
CVE-2026-93479正規表現を使う map の出力変数より先に、root やアクセスログがそのキャプチャ変数($1 など)を参照。非キャッシュ変数を文字列式に使う特定条件も1.30.0〜1.30.5、1.31.2〜1.31.6名前付きキャプチャ((?<name>...))に変え、正規表現を照合したブロックの中だけで使う
  • 認証は不要。通常はワーカープロセスの再起動(DoS)で済むが、ASLR が無効か回避できるとコード実行にもつながりうる。
  • 修正版は 1.30.6(stable)と 1.31.7(mainline)。NGINX Plus も修正済み。

点検のしかた

bash
# 設定全体を展開して、該当しそうな箇所を探す
nginx -T 2>/dev/null | grep -nE 'alias|\$request_filename|rewrite'
nginx -T 2>/dev/null | grep -nE 'map .*~|\$[0-9]'
  • alias を使う location で rewrite と $request_filename が同時に出てこないか。
  • map の正規表現の番号付きキャプチャを、root・log_format などで参照していないか。

一緒に更新するもの

  • 同じリリースで、HTTP/3 中継時の本文混入(CVE-2026-95101)、TLS セッションチケット鍵切り替え時のセッション偽造(CVE-2026-97629)、SSI と非同期 I/O の UAF(CVE-2026-97205)も修正。
  • njs は 1.0.2 で XML 解析のメモリー枯渇と署名付き XML 検証の不整合を修正。

注意点

  • 緩和策は「今わかっている条件」を避けるだけ。設定変更で凌いでも、更新は予定に入れる。
  • コンテナイメージやディストリのパッケージは、上流の版番号と別にバックポートされていることがある。パッケージの修正情報で確認する。

出典

X の元の投稿を開く