ModSecurity WAF の脆弱性 CVE-2026-52761/52747 が FIX:検証回避の恐れ

ModSecurity Security Flaws Enable WAF Rule Evasion With Crafted HTTP Requests

2026/07/06 gbhackers — 広く利用されるオープンソースの ModSecurity WAF (Web Application Firewall) に、特別に細工された HTTP リクエストを介して検知回避に至る、2 件の脆弱性 CVE-2026-52761CVE-2026-52747 が確認された。2 つの脆弱性は、ModSecurity 3.0.15 以下のバージョンに影響を及ぼし、バージョン 3.0.16 で修正されている。これらの問題は、入力変換およびリクエスト・パースにおける深刻な不整合に起因し、実環境における WAF 保護機能を損なう可能性がある。

変換バグによるアーキテクチャ固有のルール回避

1 件目の脆弱性である CVE-2026-52761 は、ModSecurity ルールで使用される t:utf8toUnicode 変換関数に影響を及ぼす欠陥であり、深刻度が Medium と評価されている。この脆弱性は、ポインタ型に対する sizeof() 演算子の誤用 (CWE-467) に起因し、システム・アーキテクチャに応じて出力生成の一貫性が失われる。

32-bit の i386 システムではポインタ・サイズが 4 byte である一方で、64-bit システムでは 8 byte となっている。この不一致により、i386 プラットフォーム上での変換関数は、Unicode 表現を正しく処理できなくなる。その結果、この変換に依存するセキュリティ・ルールは、悪意のペイロードを正しく解釈できなくなり、攻撃者に対して検知メカニズムの回避を許す可能性がある。

根本原因は、snprintf() 関数の呼び出しの実装にある。バッファ・サイズが実際のバッファではなく、ポインタのサイズを用いて誤って計算されてしまう。この問題は、64-bit システムではサイズ整合が偶然に一致しているが、32-bit 環境では深刻な盲点を生み出していた。Core Rule Set (CRS) チームの研究者たちが、自動テスト中に問題を特定したことで、さらなる調査と公表につながった。

現時点で公開されているアクティブなエクスプロイトは存在しないが、この脆弱性は低い攻撃複雑性でリモートから悪用可能であり、認証やユーザー操作を必要としない。そのため、ユーザーに対して強く推奨されるのは、パッチが完全に展開されるまでは、i386 システムを使用しないことだ。

Multipart Parser の欠陥によるリクエスト検査の回避

2 件目の深刻な脆弱性 CVE-2026-52747 は、libmodsecurity の multipart/form-data パーサーに影響を及ぼし、深刻度は High と評価されている。この欠陥を悪用する攻撃者は、ModSecurity がリクエスト本文を処理する方法と、バックエンド・アプリケーションが解釈する方法との不一致を突き、WAF 検査をバイパスする。

このパーサーは、ARGS および ARGS_POST 変数を介して WAF ルールに送信する前に、ファイル以外の form-data フィールドから埋め込まれた改行 “\r\n” または “\n” を除去する。

たとえば、”A\r\nB” のようなペイロードは、検査中に “AB”へと変換される一方で、バックエンド・システムでは改行を保持した状態で処理される可能性がある。そのため、WAF とバックエンド・アプリケーションが同一入力を異なる形式で認識するという、典型的なパーサー差異 (parser differential) の脆弱性が発生する。

この挙動を悪用する攻撃者は、複数行のインジェクション攻撃や区切り文字ベースのシグネチャといった、改行に依存する検知ルールを回避するペイロードを作成できる。

この問題は、マルチパート・パーサーにおける不適切な文字列処理に起因しており、確保済みバッファの内容が、追記されずに上書きされてしまう。それにより、不正な変換にもかかわらず、MULTIPART_STRICT_ERROR などの ModSecurity に組み込まれた厳格な検証チェックが設定されず、悪意の入力に対するフラグ付けも遮断も実行されない。

PoC により実証されたのは、CRLF ベースおよび LF ベースのペイロードの双方が、アラートを発生させることなく 1 行の文字列へ縮小されることであり、この脆弱性が完全性へ影響を及ぼすことが確認された。多くのケースにおいて ModSecurity は、最前線の防御レイヤーとして導入されているため、この欠陥によりセキュリティ・ポリシーを適用する能力が著しく弱体化する。

セキュリティ専門家たちが推奨するのは、2 つの脆弱性の修正を含むバージョン 3.0.16 への即時アップグレードである。さらに、ユーザー組織にとって必要なことは、WAF ルールセットの見直しと、バックエンドでの検証制御の実装に加えて、マルチパート解析処理の挙動に対する回帰テストを実施し、セキュリティ層全体で一貫した入力処理を確保することである。