OWASP Core Rule Set(CRS)で新たに開示された重大な欠陥により、攻撃者は文字セット検証を回避し、Webアプリケーションに対してクロスサイトスクリプティング(XSS)攻撃をひそかに仕掛けられる。
この欠陥は、エンコードされた攻撃を検知・ブロックするために、多くの組織がWebアプリケーションファイアウォール(WAF)層で依存している重要な防御機能を弱体化させる。
この脆弱性は、「ModSecurityのチェーンルールがコレクションを処理する方法を悪用することで、攻撃者が文字セット検証を回避できる」と述べたのはOWASP CRSチームだ。
OWASP CRSの文字セットバイパスの仕組み
CVE-2026-21876として追跡されているこの脆弱性は、Apache ModSecurity、ModSecurity v3、Corazaの各環境に広く導入されているOWASP Core Rule Setのコアルールに影響する。
CRSはWebアプリケーションの第一線の防御として一般的に利用されているため、この欠陥によって、エンコードされた攻撃ペイロードをブロックするよう設計されたWAFの防御効果が低下し、バックエンドのアプリケーション制御への依存が強まる。
この問題はCRS 3.3.xから3.3.7まで、および4.0.0から4.21.0までのバージョンに影響し、多数の本番環境が潜在的なリスクにさらされる。
問題の中心にあるのはルール922110だ。このルールは、マルチパート形式のリクエスト内にあるUTF-7やUTF-16などの危険な文字エンコードを検知・ブロックすることを意図している。
これらのエンコードは、攻撃者が入力フィルターを回避し、クロスサイトスクリプティング(XSS)ペイロードを、単純な検証ロジックを回避できる形で送り込むために、長年利用されてきた。
研究者らは、このルールがマルチパートHTTPリクエストのすべての部分を一貫して評価していないことを発見した。実際には最後のセグメントだけを検証し、それ以前のコンポーネントを完全に無視している。
この動作により攻撃者は、悪意のあるUTF-7エンコードのJavaScriptペイロードをリクエストの前半部分に置き、最後の部分に無害なUTF-8コンテンツを続けるマルチパートリクエストを構成できる。
ルールが最後のセグメントだけを検査するため、リクエストはWAFを警告を発生させずに通過できる。
この脆弱性のCVSSスコアは9.3で、リモートから悪用可能であり、認証要件もないことを反映している。
現在のところ実際の悪用は報告されていないが、この手法はよく知られたエンコードベースのXSS手法を利用し、実行に必要な労力も最小限で済む。
OWASP CRSのルール欠陥によるリスクを低減する
最新のOWASP CRSアップデートを適用することが最も重要な対策だが、追加の制御によってバイパスの試みを検知し、潜在的な影響を抑えられる。
- OWASP CRSの導入を直ちにアップグレードし、バージョン4.22.0(CRS 4.x)または3.3.8(CRS 3.3.x)に更新したうえで、更新済みルールが実際に適用されていることを確認する。
- WAFの設定とログを検証し、マルチパートリクエストの検査が正しく機能しており、古いルールが読み込まれたままになっていないことを確認する。
- 受け入れる文字エンコードをUTF-8に限定し、Webサーバーとアプリケーションの各層でUTF-7などの古いエンコードを明示的にブロックする。
- カスタムまたは補完用のWAFルールを実装し、文字セット宣言が混在または通常と異なるマルチパートリクエストを検知・ブロックする。
- アプリケーション層の防御を強化し、堅牢な入力検証、コンテキストを考慮した出力エンコード、制限的なContent Security Policy(CSP)ヘッダーを適用する。
- モニタリングを強化し、インシデント対応の準備を整えることで、異常なマルチパートトラフィックのパターンを追跡し、防御機能を検証する。
- テーブルトップ演習と攻撃シミュレーションを通じてインシデント対応計画をテストし、改善する。
これらの対策を組み合わせることで、個々のルールに限界がある場合でも、WAFの防御効果を維持できる。
セキュリティツールは常に機能すると想定することのリスク
十分に確立され、広く信頼されているセキュリティ制御であっても、日常の運用だけでは検知が難しい、微妙なロジックや実装上の欠陥によって弱体化する可能性がある。
攻撃者がセキュリティツールの境界的なケースを探ることに、ますます注力するなか、「設定して放置する」防御への依存は時間の経過とともに効果を失っていく。
この現実は、進化する攻撃手法に直面しても防御制御が意図どおり機能し続けるよう、定期的な更新、検証、テストが必要であることを浮き彫りにしている。
暗黙の信頼よりも継続的な検証を重視するゼロトラスト原則





