Nginx-poolslip Vulnerability Enables DoS and Code Execution Attacks — Patch Now!
2026/05/23 CyberSecurityNews — 世界で最も広く導入されている Web サーバ NGINX の新たな脆弱性により、管理者は緊急パッチ対応を迫られている。nginx-poolslip と呼ばれる脆弱性 CVE-2026-9256 は、NGINX Plus および NGINX Open Source に影響し、リモートの未認証の攻撃者に対して、通常の HTTP を介したトリガーを許すものである。この脆弱性は、先日の脆弱性 NGINX Rift (CVE-2026-42945) と同一の、ngx_http_rewrite_module コンポーネントに存在する。

F5 のアドバイザリによると、この問題が発生するのは、rewrite ディレクティブにおいて、重複かつ入れ子状の PCRE (Perl-Compatible Regular Expression) キャプチャ・グループを含む正規表現パターン (例:^/((.*))$) と、複数キャプチャ参照 ($1$2 など) を含む置換文字列が、組み合わされる場合となる。この条件下では、細工されたリクエストを送信する攻撃者が、NGINX ワーカー・プロセスにおいてヒープバッファ・オーバーフロー (CWE-122) を引き起こす可能性がある。
NGINX は、リクエストごとに専用メモリプールを使用し、処理の終了時に一括解放するという仕組みを持つ。このメモリプール構造内では、クリーンアップ・ハンドラのリンク・リストが管理されている。このポインタを、攻撃者が上書きまたはリダイレクトできた場合には、プール破棄時に制御フローの乗っ取りの機会が生じる。
前回の NGINX Rift 脆弱性が、バッファサイズ計算の誤りを悪用するものであるのに対して、今回の poolslip は、同一メモリプール内の隣接リンク構造間でのポインタ・スリップによる破損を誘発する。つまり、前回とは異なるコード経路を用いた攻撃が可能になる。
重要なことは、メモリプールにおける根本的な攻撃面が、前回のパッチで解消されていないため、その結果として、更新後のコードベースでも脆弱性 nginx-poolslip (CVE-2026-9256) が発生する点にある。
最小限の影響として挙げられるのは、ワーカープロセスのクラッシュおよび再起動によるサービス拒否 (DoS) の発生である。ただし、Address Space Layout Randomization (ASLR) が無効化されているケースや、回避可能な環境においては、任意のコード実行が成立する可能性がある。
F5 の説明によると、この問題による影響はデータ・プレーンに限定され、コントロール・プレーンには影響しないという。この脆弱性は CVSS v3.1 で High/8.1、CVSS v4.0 で Critical/9.2 と評価されている。
NGINX の用途が、リバースプロキシ/API ゲートウェイ/Kubernetes Ingress コントローラなどの広範に及ぶため、影響の範囲も極めて広大となる。
影響バージョンと修正
この脆弱性 CVE-2026-9256 の影響が及ぶ範囲は、NGINX Open Source の 0.1.17〜1.30.1/1.31.0 であり、1.30.2/1.31.1 へのアップグレードが必要である。
NGINX Plus ユーザーにとって必要な対応は、以下のとおりである:
- R32~R36 を使用:R36 P5/R32 P7 へアップデート
- R37.x 系を使用:R37.0.1.1 へアップデート
| Product | Vulnerable Versions | Fixed Versions |
|---|---|---|
| NGINX Plus | 37.0.0 R32 – R36 | 37.0.1.1 R36 P5, R32 P7 |
| NGINX Open Source | 1.31.0 1.0.0 – 1.30.1 0.1.17 – 0.9.7 | 1.31.1 1.30.2 Will not fix |
| NGINX Instance Manager | 2.17.0 – 2.22.0 | None |
| F5 WAF for NGINX | 5.9.0 – 5.13.0 | None |
| NGINX App Protect WAF | 5.2.0 – 5.8.0 4.10.0 – 4.16.0 | None None |
| F5 DoS for NGINX | 4.9.0 | None |
| NGINX App Protect DoS | 4.3.0 – 4.7.0 | None |
| NGINX Gateway Fabric | 2.0.0 – 2.6.1 1.3.0 – 1.6.2 | None None |
| NGINX Ingress Controller | 5.0.0 – 5.4.2 4.0.0 – 4.0.1 3.5.0 – 3.7.2 | None None None |
| NGINX (all other products) | None | Not applicable |
さらに、NGINX Instance Manager/F5 WAF for NGINX/NGINX App Protect (WAF および DoS)/NGINX Gateway Fabric/NGINX Ingress Controller などの下流製品も、影響を受けるコンポーネントを含んでいる。したがって、修正が提供され次第の更新が必要となる。なお、0.x 系ブランチは修正の対象外となる。
即時のパッチ適用が困難なケースにおいて F5 が推奨するのは、rewrite ディレクティブにおける無名キャプチャ使用の排除と、名前付きキャプチャへの置き換えである。
たとえば、$1 や $2 の参照を、(?<user_id>…) や (?<section>…) のように定義し、置換文字列内での名前指定により参照する方法である。
この脆弱性は Winfunc Research/Nebula Security/Vexera AI に所属する Mufeed VH により報告された。すでに PoC が流通しているため、ユーザー組織は遅延なくパッチを適用する必要がある。
訳者後書:NGINX の脆弱性 CVE-2026-9256 (nginx-poolslip) は、 設定ファイル内の rewrite ディレクティブにおいて、 重複して入れ子になった正規表現パターンと複数のキャプチャ参照が組み合わされた際の、 メモリのバッファサイズ計算やポインタ処理の不備に起因するものです。この特定の条件下において、細工された HTTP リクエストを処理する際にヒープバッファ・オーバーフローが発生します。その結果、NGINX がリクエスト処理に使うメモリプール内の内部ポインタが書き換えられ、プロセス・クラッシュによるサービス拒否に留まらず、任意のコード実行を招く恐れがあります。よろしければ、2026/05/21 の「NGINX 1.31.0 のゼロデイ脆弱性 nginx-poolslip (CVE-N/A) を検出:ASLR バイパスによる RCE の可能性」も、ご参照ください。
You must be logged in to post a comment.