NGINX の設定で脆弱な組み合わせを避ける(alias と $request_filename、正規表現 map のキャプチャ)
2026 年 10 月に修正された NGINX のヒープバッファーオーバーフロー 2 件は、特定の設定を使うときだけ悪用できる。更新が第一だが、すぐ上げられないなら設定の書き方を変えて穴を閉じられる。
対象と条件
| CVE | 悪用できる設定 | 影響範囲(OSS 版) | 緩和策 |
|---|---|---|---|
| CVE-2026-15176 | alias と rewrite を併用し、set・return・アクセスログの書式で $request_filename を参照 | 0.1.29〜1.30.5、1.31.0〜1.31.6 | alias と $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 検証の不整合を修正。
注意点
- 緩和策は「今わかっている条件」を避けるだけ。設定変更で凌いでも、更新は予定に入れる。
- コンテナイメージやディストリのパッケージは、上流の版番号と別にバックポートされていることがある。パッケージの修正情報で確認する。
出典
- @MalwareBibleJP · 2026-10-21
- F5 K000162416: my.f5.com
- F5 K000162607: my.f5.com
- nginx security advisories: nginx.org