一、漏洞概要
漏洞名称 | PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577) |
发布时间 | 2024年6月7日 |
组件名称 | PHP语言 |
影响范围 | PHP8.3 < 8.3.8 PHP8.2 < 8.2.20 PHP8.1 < 8.1.29 PHP 7.* PHP 5.* 由于 PHP 8.0、PHP 7 和 PHP 5 的分支已终止使用,并且不再维护,服务器管理员可以参考“缓解方案”中的临时补丁建议。 |
漏洞类型 | 代码注入 |
利用条件 | 1、用户认证:无需用户认证 2、前置条件:默认配置 3、触发方式:远程 |
综合评价 | <综合评定利用难度>:容易,能造成远程代码执行。 <综合评定威胁等级>:严重,能造成远程代码执行。 |
官方解决方案 | 已发布 |
二、漏洞分析
2.1 组件介绍
PHP是一种流行的通用脚本语言,特别适合 Web 开发。PHP 快速、灵活且实用,为从您的博客到世界上最流行的网站的一切提供支持。
2.2 漏洞描述
2024年6月7日,深瞳漏洞实验室监测到一则PHP语言组件存在代码注入漏洞的信息,漏洞编号:CVE-2024-4577,漏洞威胁等级:严重。
PHP语言在设计时忽略了Windows对字符编码转换的 Best-Fit 特性,导致未授权的攻击者可以通过特定字符串绕过 CVE-2012-1823 补丁,执行任意PHP代码,导致服务器失陷。
三、影响范围
目前受影响的PHP语言版本:
PHP8.3 < 8.3.8
PHP8.2 < 8.2.20
PHP8.1 < 8.1.29
PHP 7.*
PHP 5.*
由于 PHP 8.0、PHP 7 和 PHP 5 的分支已终止使用,并且不再维护,服务器管理员可以参考“缓解方案”中的临时补丁建议。
四、缓解方案
1.对于无法升级PHP的用户:
a、修改系统语言为非目标语言可缓解此漏洞;
b、通过以下重写规则可用于阻止攻击。
RewriteEngineOn
RewriteCond%{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/"
3、迁移至更安全的PHP运行模式
如 Mod-PHP、FastCGI 或 PHP-FPM
官方修复建议
将PHP升级到官方最新版本 8.3.8、8.2.20和8.1.29。
官方下载地址:https://www.php.net/downloads.php
未经允许不得转载:回忆源 » PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)