阅读: 8
一、漏洞概述
近日,绿盟科技CERT监测到网上披露了PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577),由于PHP 在设计时忽略了Windows系统对字符转换的Best-Fit 特性,用CGI模式运行PHP在Windows平台,且使用了如下语系(简体中文936/繁体中文950/日文932等)时受漏洞影响,未经身份验证的攻击者可构造恶意请求绕过CVE-2012-1823补丁的保护,通过参数注入远程执行任意代码。目前漏洞PoC已公开,请相关用户尽快采取措施进行防护。
PHP是一种广泛使用的开源脚本语言,常用于Web 开发;PHP CGI是一种通过通用网关接口(CGI)运行PHP脚本的方法,用于处理HTTP请求并生成动态网页内容。
参考链接:
https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability
二、影响范围
受影响版本
- PHP 8.3 < 8.3.8
- PHP 8.2 < 8.2.20
- PHP 8.1 < 8.1.29
注:PHP8、PHP7和PHP5等分支版本官方已终止使用且不再维护。
不受影响版本
- PHP 8.3 >= 8.3.8
- PHP 8.2 >= 8.2.20
- PHP 8.1 >= 8.1.29
三、漏洞检测
- 版本检测
Windows系统的PHP CGI用户可以通过查看PHP的版本来判断应用是否在受影响范围内:
四、漏洞防护
- 官方升级
目前官方已在最新版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:https://www.php.net/downloads.php
- 其他缓解措施
若相关用户暂时无法进行升级操作,也可通过下列措施进行临时防护:
1、业务未使用PHP-CGI的情况下,建议暂时关闭CGI功能;
2、使用繁体中文、简体中文和日语语言环境的用户可通告以下重写规则进行攻击防护:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? – [F,L]
注:在实际操作中,仍然建议更新到安全版本或迁移架构。
- 对于使用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/”
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。