PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)通告

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

绿盟科技CERT监测到了PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577),影响使用CGI模式运行PHP的Windows平台,攻击者可通过参数注入远程执行任意代码。受影响的版本包括PHP 8.3 < 8.3.8、PHP 8.2 < 8.2.20和PHP 8.1 < 8.1.29。官方已发布修复补丁,请尽快升级版本。

🔎

延伸解读

漏洞触发条件与影响范围

该漏洞仅影响在Windows平台以CGI模式运行PHP,且系统使用简体中文(936)、繁体中文(950)或日文(932)等语系的场景。攻击者无需认证即可通过参数注入绕过CVE-2012-1823补丁,远程执行任意代码。受影响版本为PHP 8.3 < 8.3.8、8.2 < 8.2.20、8.1 < 8.1.29。若您的环境不满足上述条件,则不受影响。

临时缓解措施的有效性与局限

若无法立即升级,可采取临时措施:未使用PHP-CGI时关闭CGI功能;对使用特定语系的用户,可添加重写规则拦截恶意查询字符串(如RewriteCond %{QUERY_STRING} ^%ad [NC])。XAMPP用户可注释掉httpd-xampp.conf中的ScriptAlias /php-cgi/行。但公告强调,这些措施仅为临时防护,仍建议升级到安全版本或迁移架构。

版本检测与升级建议

用户可通过命令'php -v'查看当前PHP版本,判断是否在受影响范围内。官方已发布修复版本:PHP 8.3.8、8.2.20、8.1.29,建议尽快从官方下载链接升级。注意PHP 8、7、5等分支已终止维护,不再提供安全更新,继续使用可能面临其他未修复漏洞的风险。

❓

Q&A

CVE-2024-4577漏洞的影响范围是什么?

受影响的PHP版本包括8.3 < 8.3.8、8.2 < 8.2.20和8.1 < 8.1.29。

如何检测我的PHP版本是否受CVE-2024-4577漏洞影响?

Windows系统的PHP CGI用户可以通过命令'php -v'来查看PHP版本。

如果无法升级PHP版本,我该如何防护?

可以暂时关闭CGI功能或使用重写规则进行临时防护。

CVE-2024-4577漏洞是如何产生的?

该漏洞由于PHP在设计时忽略了Windows系统对字符转换的Best-Fit特性而产生。

官方对CVE-2024-4577漏洞的修复措施是什么?

官方已发布修复补丁,建议用户尽快升级到最新版本。

使用XAMPP for Windows的用户如何避免CVE-2024-4577漏洞?

可以通过修改Apache配置,注释掉ScriptAlias /php-cgi/的行来避免漏洞影响。

🏷️

标签

➡️

继续阅读