F5は、リモートの認証されていない攻撃者が細工したHTTPリクエストによりワーカープロセスでヒープバッファオーバーフローを引き起こす可能性のある、重大なnginxの脆弱性に対する修正をリリースしました。CVE-2026-42533は7月15日にnginx 1.30.4(安定版)および1.31.3(メンテナンスライン)、ならびにNGINX Plus 37.0.3.1で修正されており、それ以前のバージョンを使用している場合はアップグレードが必要です。

これをトリガーするとワーカーがクラッシュまたは再起動し、サービス拒否(DoS)を引き起こす可能性があります。ASLRが無効化されている、またはバイパス可能な場合、F5によるとリモートコード実行も可能になる場合があります。

このオーバーフローは、nginxのスクリプトエンジン(リクエスト時にディレクティブから文字列を組み立てるコード)に存在します。特定構成でのみ発生します:正規表現ベースのmapで、その出力変数が以前の正規表現マッチからのキャプチャ参照を含む文字列式で使われている場合です。

このパターンでは、エンジンの2パス評価が破綻します。1パス目は結果に必要なバイト数を測定してバッファを割り当て、2パス目でバイトを書き込みます。両方とも同じ共有キャプチャ状態を参照しており、2パスの間にmapの正規表現を評価するとその状態が上書きされます。

したがって、測定パスは元のキャプチャ(locationマッチからの$1などの参照)に基づいてバッファサイズを決定しますが、書き込みパスは攻撃者によりサイズ変更された別のキャプチャからデータを埋めようとします。バッファが小さすぎるため、オーバーランの長さと内容はリクエストから直接供給されます。

Cybersecurity

これはすべてのnginxサーバーに影響するわけではなく、バージョンだけでなく構成に依存します。F5のアドバイザリでは、コアサーバーおよびNGINX Plusに加え、NGINX Ingress Controller、Gateway Fabric、App Protect WAF、Instance Managerにも影響するとされていますが、公開時点でこれら4製品の修正済みビルドはまだリストされていません。

F5はCVSS v4で9.2、旧v3.1スケールで8.1と評価し、攻撃の複雑性を高としています。0.9.6から1.31.2までの全バージョンが脆弱で、2011年にmapが正規表現サポートを獲得した時点までさかのぼります。

CVE-2026-42533は12人以上の研究者からF5に独立して報告されており、ベンダーは「この問題を独立して知らせてくれた」ことに感謝しています。nginx自身の変更履歴では、Winfunc ResearchのMufeed VHとメンテナのMaxim Douninによる修正とクレジットされています。

報告者の一人であるStan Shawcyberstan名義)は、アドバイザリよりも詳細な解説記事を公開しました。F5はコード実行の条件としてASLRの無効化またはバイパスを挙げていますが、Shawは脆弱性自体がバイパスを提供すると主張しています。彼はThe Hacker Newsに対し、キャプチャの上書きは逆方向にも機能し、クラッシュしたキャプチャが元のものより小さい場合、 oversizedバッファが未初期化のヒープデータを返すため、デフォルトのUbuntu 24.04ビルドでは1回の認証不要GETでペイロードが必要とするアドレスを取得できると述べています。

「F5のアドバイザリを読んだ人は、これがデフォルトシステムではDoS専用だと合理的に結論づけるかもしれない。それは違う」とShawは述べています。これはF5の主張より強いもので、彼自身のテストでは10件中10件で成立したと主張し、悪用詳細とPoCは現時点で非公開にしているため、独立した検証はまだできません。

修正はnginx 1.30.4または1.31.3、NGINX Plus 37.0.3.1へのアップグレードです。すぐにパッチを適用できない場合、F5の一時的な緩和策は影響を受ける正規表現mapを名前付きキャプチャに切り替えることです。Shawによると、これで主な経路は閉じられ、大半の構成をカバーできます。

ただし、The Hacker Newsに対し、Shawはこの緩和策にもより狭い経路が残ると述べています:location正規表現と同じ名前付きグループを定義するmapは、2つ目のコードパスを通じて同じオーバーフローに到達し、AddressSanitizerで確認済みですが、F5のアドバイザリには記載されていません。「1.30.4 / 1.31.3へのアップグレードのみが完全な修正です」と彼は述べています。

検索すべき構成は狭い範囲です:正規表現ベースのmapで、その変数が以前の正規表現からの番号付きキャプチャ($1$2)と並んで文字列式に登場し、キャプチャがmap変数より前に書かれている場合です。

Cybersecurity

Shaw自身のスキャナーは構成全体でこのチェックを自動化し、includeを追跡し、悪用可能な順序のみをフラグ付けします。悪用は行いませんが、報告者のツールであり、ベンダー製品ではありません。

これはnginxの式評価コードにおけるヒープオーバーフローの3件目で、約2ヶ月前にRift(CVE-2026-42945)が5月に、そしてrewriteモジュールのキャプチャ重複バグ(CVE-2026-9256)が数日後に公開されました。

3件とも同じ種類の欠陥です:nginxの2パススクリプトエンジンは1パスでバッファサイズを測定し、次のパスで書き込みを行いますが、毎回測定したサイズを超えて書き込みが行われます。トリガーは異なり、Riftでは古いフラグ、rewriteバグではキャプチャの重複、ここではキャプチャ状態の上書きです。研究者が指摘するように、共通の弱点は自身の測定を信頼する2パス設計にあります。

7月20日時点で、CVE-2026-42533はCISAのKnown Exploited Vulnerabilitiesカタログに掲載されておらず、公開されたエクスプロイトコードもありません。Shawはパッチから21日後に自身のPoCを公開すると述べており、Riftは警告事例です:そのエクスプロイトは数日で公開され、その後活発な悪用が行われました。これが、この脆弱性のエクスプロイトが公開される前にアップグレードする理由です。

The Hacker NewsはF5に対し、Shawが文書化した亜種を考慮して名前付きキャプチャへの切り替えがCVE-2026-42533を完全に閉じるかどうか、また影響を受ける下流製品の修正済みビルドがいつリリースされるかを尋ねました。F5は公開時点で回答していません。

この記事は役に立ちましたか? Google NewsTwitterLinkedInでフォローして、弊社が投稿する独占コンテンツをさらにご覧ください。