一、漏洞分析
1.1
组件介绍
PHP
是一种流行的通用脚本语言,特别适合
Web
开发。
PHP
快速、灵活且实用,为从您的博客到世界上最流行的网站的一切提供
支持。
1.2
漏洞描述
2024
年
6
月
7
日,深瞳漏洞实验室监测到一则
PHP
语言组件存
在代码注入漏洞的信息,漏洞编号:
CVE-2024-4577
,漏洞威胁等级:
严重。
PHP
语言在设计时忽略了
Windows
对字符编码转换的
Best-Fit
特性,导致未授权的攻击者可以通过特定字符串绕过
CVE-2012-182
3
补丁,执行任意
PHP
代码,导致服务器失陷。
二、影响范围
目前受影响的
PHP
语言版本:
PHP8.3 < 8.3.8
PHP8.2 < 8.2.20
PHP8.1 < 8.1.29
由于
PHP 8.0
、
PHP 7
和
PHP 5
的分支已终止使用,并且不再维护,
服务器管理员可以参考
“
缓解方案
”
中的临时补丁建议。
三、解决方案
3.1
修复建议
1.
如何检测组件系统版本
通过
php -v
查看当前
php
版本
2.
官方修复建议
将
PHP
升级到官方最新版本
8.3.8
、
8.2.20
和
8.1.29
。下载链接:
https://www.php.net/downloads.php
缓解方案:
1.
不方便更新版本的
Windows
用户,建议暂时关闭
php-cgi
的使
用。
2.
以下重写规则可用于阻止攻击。需要注意的是,这些规则仅对
繁体中文、简体中文和日语语言环境起到临时缓解作用。在实际操作
中,仍然建议更新到补丁版本或迁移架构。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]
3.
对于使用
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/"