ModSecurity の WAF バイパスの脆弱性 CVE-2024-1019 が FIX:直ちにアップデートを!

CVE-2024-1019: Exposing ModSecurity’s Critical WAF Bypass Flaw

2024/01/31 SecurityOnline — Web アプリケーション・セキュリティの世界において、ModSecurity は、サイバー脅威対策に強いツールの1つとして、以前から人気を誇っている。Trustwave の SpiderLabs により開発された、このオープンソースの WAF (Web Application Firewall) エンジンは、Apache/IIS/Nginx をサポートしている。さらに、強力なイベントベースのプログラミング言語を使用しており、無数の攻撃から Web アプリケーションを守ることに長けていることに加えて、HTTP トラフィックの監視/ロギング/リアルタイム分析などにも優れている。

近ごろ、ModSecurity のバージョン 3.0.0〜3.0.11 に、深刻な脆弱性 CVE-2024-1019 (CVSS:8.6) が発見された。この脆弱性は、リクエスト URL のパスベースのペイロードに対して WAF のバイパスを可能にすることで、深刻なリスクをもたらすものだ。この問題は、ModSecurity の URL デコードの処理に起因する。具体的に言うと、URL パスとクエリー文字列を分離する前に、URL のパーセントエンコード文字をデコードする方法に起因する。この処理は、RFC に準拠したバックエンド・アプリケーションの慣行から逸脱しており、インピーダンスの不一致を引き起こしている。

CVE-2024-1019 の悪用は、攻撃者が、パーセント・エンコードされた疑問符 “%3F” でリクエスト URL を細工することによって達成される。これらの URL を ModSecurity がデコードするとき、クエリー・コンポーネントの位置を誤って特定する。したがって攻撃者は、パス・コンポーネント検査のために設計された ModSecurity のルールを回避するために、URL パスにペイロードを戦略的に配置できる。

この問題は、パスの検査に使われる ModSecurity の変数 REQUEST_FILENAME と REQUEST_BASENAME に、顕著に影響する。その結果として、これらの変数に依存するルールは、この悪用に対して効果がなくなる可能性がある。

ModSecurity のユーザーとインテグレーターに強く推奨されるのは、この脆弱性に対処したバージョン 3.0.12 にアップグレードすることだ。ただし、ModSecurity v2 のリリースラインは、特に v2.9.x は、この脆弱性の影響を受けない。