漏洞概述

漏洞名称

PHP CGI Windows平台远程代码执行漏洞

漏洞编号

QVD-2024-21704,CVE-2024-4577

公开时间

2024-06-07

影响量级

十万级

奇安信评级

高危

CVSS 3.1分数

9.8

威胁类型

代码执行

利用可能性

POC状态

未公开

在野利用状态

未发现

EXP状态

未公开

技术细节状态

已公开

危害描述:未经身份认证的远程攻击者可以通过参数注入攻击在远程PHP服务器上执行任意代码。

01
漏洞详情
>>>>

影响组件

PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,主要用于Web开发,用于生成动态网页内容。PHP的语法借鉴了C、Java、Perl等语言的特点,易于学习,并且可以快速执行。

>>>>

漏洞描述

近日,奇安信CERT监测到官方修复PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577),未经身份认证的远程攻击者可以通过特定的字符序列绕过此前CVE-2012-1823的防护,通过参数注入攻击在远程PHP服务器上执行任意代码,从而导致远程代码执行、敏感信息泄露或造成服务器崩溃。目前该漏洞技术细节已在互联网上公开,鉴于此漏洞影响范围较大,建议客户尽快做好自查及防护。

02
影响范围
>>>>

影响版本

PHP 8.3

PHP 8.2

PHP 8.1

(主要影响PHP在Windows操作系统上的安装版本)

>>>>

其他受影响组件

Apache HTTP Server

(注:由于Apache HTTP Server常与PHP一起使用,特别是当PHP以CGI模式运行时,Apache HTTP Server可能会成为攻击的目标)

03
处置建议
>>>>

安全更新

目前官方已有可更新版本,建议受影响用户升级至最新版本:
PHP 8.3 >= 8.3.8
PHP 8.2 >= 8.2.20
PHP 8.1 >= 8.1.29
注:由于 PHP 8.0、PHP 7 和 PHP 5 的分支已终止使用,并且不再维护,服务器管理员可以参考“缓解方案”中的临时补丁建议。
官方下载地址:
https://www.php.net/downloads.php
缓解方案:
1.对于无法升级PHP的用户:
以下重写规则可用于阻止攻击。需要注意的是,这些规则仅对繁体中文、简体中文和日语语言环境起到临时缓解作用。在实际操作中,仍然建议更新到补丁版本或迁移架构。
RewriteEngine OnRewriteCond %{QUERY_STRING} ^%ad [NC]RewriteRule .? - [F,L]
2. 对于使用 XAMPP for Windows 的用户:
如果确认不需要 PHP CGI 功能,可以通过修改以下 Apache HTTP Server 配置来避免受到该漏洞的影响:
C:/xampp/apache/conf/extra/httpd-xampp.conf
找到相应的行:
ScriptAlias /php-cgi/ "C:/xampp/php/"
并将其注释掉:
# ScriptAlias /php-cgi/ "C:/xampp/php/"

04
参考资料

[1]https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability-en/

[2]https://www.kb.cert.org/vuls/id/520827

[3]https://www.php.net/manual/en/security.cgi-bin.php