[備忘録] PHP CGI 引数インジェクションの脆弱性 / CVE-2024-4577
PHP に影響を与える新たな重大なセキュリティ上の欠陥についての詳細が明らかになりました。この欠陥を悪用すると、特定の状況下でリモート コード実行が発生する可能性があります。
特定の状況下、とは?
Windows 版 XAMPP のサーバーで起きる問題で、さらに特定のロケールは
日本語 🔥
中国語
※他のロケールも未確認なだけで可能性あり
ということです。
メカニズム
PHPは「ベスト フィット」マッピングの機能により、このソフトハイフンをApache通過後に本物ハイフンに差し替えてしまうため問題が起こります。
対処法
インジェクションを RCE に変換するには、次の引数を挿入するようにすることを推奨しています。
-d allow_url_include=1 -d auto_prepend_file=php://input
パッチ
PHP の新しいバージョン8.3.8、8.2.20、8.1.29 がリリースされました。
1. PHP をアップグレードできないユーザーの場合:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]
2. Windows版XAMPPを使用するユーザーの場合:
XAMPP はこの脆弱性に対応する更新ファイルをまだリリースしていません。PHP CGI 機能が必要ないことが確認できた場合は、次の Apache HTTP Server 設定を変更することで、脆弱性の影響を受けることを回避できます。
対応する行を見つける:
ScriptAlias /php-cgi/ "C:/xampp/php/"
そしてコメントアウトします:
# ScriptAlias /php-cgi/ "C:/xampp/php/"
リンク:
いいなと思ったら応援しよう!
サポートありがとうございます😊 ベトナムにお越しの際はお声がけくださいね🌻