Researchers Detail Critical PHP Flaw CVE-2024-4577 with PoC Exploit Code
2024/06/07 SecurityOnline — PHP に存在する深刻な脆弱性 CVE-2024-4577 の、技術的詳細と PoC エクスプロイトが、watchTowr のサイバー・セキュリティ研究者たちにより公開された。この、Orange Tsai が発見した脆弱性は、特定の条件下でリモート・コード実行 (RCE) につながる可能性があり、その影響は、Web サーバの迅速なセットアップで広く使用されている、ソフトウェア・パッケージ XAMPP にも及ぶという。

脆弱性 CVE-2024-4577 は、PHP の CGI モードに存在し、特定文字の解釈方法の微妙な違いにより引き起こされる。具体的に言うと、この問題は “soft hyphens” (文字コード 0xAD) の扱いに関係しており、PHP の不具合により、通常の “hyphens” と誤って解釈されてしまう。
この誤った解釈により、攻撃者は既存のセキュリティ対策を効果的に回避しながら、PHP インタプリタに悪意のコマンドを注入することが可能となり、サーバ上で任意のコードを実行する可能性を手にする。
この脆弱性は、特定の言語 (中国語/日本語) でのみ動作が確認されているが、他の言語でも影響が生じる可能性があると、研究者たちは警告している。さらに、PHP のコンフィグレーションは多岐にわたるため、特定のシステムにおける脆弱性を明確に評価することは難しいという。
この不確実性と、RCE の可能性が相乗することで、PHP のユーザーにとって、特に PHP を CGI モードでデフォルト実行する XAMPP ユーザーにとって、この問題は重大なものになる。
この脆弱性は、Windows 上の PHP 8.3.8/8.2.20/8.1.29 未満の、すべてのバージョンに影響を及ぼす。
PHP が広く使用されており、悪用が容易であることから、watchTowr が求めているのは、すべてのユーザーにおける早急な対応である。PHP を最新バージョンにアップグレードすることは極めて重要であるが、すべての人にとって実行可能であるとは限らない。したがって、直ちにアップデートができないユーザーに対しては、一時的な緩和策がアドバイザリで提供されている。
CVE-2024-4577 の PoC エクスプロイト・コードを、watchTowr が GitHub で公開したことで、事態の緊急性が強調される。つまり、この情報を悪用する攻撃者は、容易に攻撃を仕掛けられるため、早急な対応が極めて重要になる。
この深刻な脆弱性から保護するために、ユーザーに強く推奨されるのは、は以下の対応である:
- PHP のアップグレード: この問題に対するパッチを取り込んだ、最新版 (8.3.8/8.2.20/8.1.29) へとアップデートする。
アップグレードできないシステムに対しては、一時的な対策として以下の方法がある:
- Rewrite Rules による攻撃のブロック: 特定の “Rewrite Rules” により、繁体字中国語/簡体字中国語/日本語の言語に対する攻撃をブロックできる。
RewriteEngine OnRewriteCond %{QUERY_STRING} ^%ad [NC]RewriteRule .? - [F,L]
- XAMPP のユーザー設定変更: “httpd-xampp.conf” の “ScriptAlias” ディレクティブをコメントアウトする:
# ScriptAlias /php-cgi/ "C:/xampp/php/"
- XAMPP のユーザー設定変更: “httpd-xampp.conf” の “ScriptAlias” ディレクティブをコメントアウトする:
- Rewrite Rules による攻撃のブロック: 特定の “Rewrite Rules” により、繁体字中国語/簡体字中国語/日本語の言語に対する攻撃をブロックできる。
CISA KEV:2024/06/12:CVE-2024-4577 PHP-CGI OS Command Injection Vulnerability
PHP の脆弱性 CVE-2024-4577 ですが、第一報は 2024/06/06 の「PHP の深刻な RCE 脆弱性 CVE-2024-4577 が FIX:数百万台のサーバが危険な状態!」となっています。その時点から、特に XAMPP が脆弱だと指摘されていましたが、PoC が公開されたことで、緊急性が高まっています。ご利用のチームは、ご注意ください。よろしければ、PHP で検索も、ご利用ください。
You must be logged in to post a comment.