专栏名称: 网空闲话plus
原《网空闲话》。主推网络空间安全情报分享,安全意识教育普及,安全文化建设培育。将陆续推出网安快讯、网安锐评、网安政策、谍影扫描、APT掠影、密码技术、OT安全等专集。
目录
相关文章推荐
哈尔滨日报  ·  中国队再获一铜 ·  昨天  
哈尔滨日报  ·  【新闻发布】3人打破2项亚洲纪录 ... ·  3 天前  
51好读  ›  专栏  ›  网空闲话plus

速升级以防大规模利用!PHP远程代码执行漏洞(CVE-2024-4577)来袭 -中文(简体和繁体)版本通杀

网空闲话plus  · 公众号  ·  · 2024-06-09 07:19

正文

2024年6月8日,PHP存在的一个编号为CVE-2024-4577的严重安全漏洞,引起了网络安全界的热议。该漏洞允许远程代码执行,影响Windows操作系统上所有版本的PHP。漏洞利用了Windows操作系统内编码转换的Best-Fit特性,使得未经身份验证的攻击者可通过特定字符序列绕过CVE-2012-1823的保护措施。PHP已在8.3.8、8.2.20和8.1.29版本中发布了修复。披露该漏洞的台湾DEVCORE公司安全研究员提醒,所有XAMPP安装在繁体中文、简体中文或日语环境下默认存在漏洞,并建议放弃PHP CGI,选择更安全的解决方案。Shadowserver基金会和watchTowr Labs均检测到针对该漏洞的利用尝试,强调用户必须迅速应用最新补丁以防止潜在的大规模利用。

台湾戴夫寇尔公司( DEVCORE )研究团队在进行前瞻攻击研究期间,发现这个PHP编程语言存在远程代码执行漏洞,基于PHP在网站生态使用的广泛性以及此漏洞之易重现性,研究团队将此漏洞标记为严重、并在第一时间回报给PHP官方。PHP官方已在2024/06/06 发布修复版本,详细时程可参阅漏洞回报时间轴。

一、漏洞描述

PHP程式语言在设计时忽略Windows操作系统内部对字元编码转换的Best-Fit特性,导致未认证的攻击者可通过特定的字符序列绕过旧有CVE-2012-1823的保护;通过参数注入等攻击在远程PHP服务器上执行任意代码。

二、影响范围

此漏洞 影响安装于Windows操作系统上所有的PHP版本 ,详情可参照下表:
  • PHP 8.3 < 8.3.8
  • PHP 8.2 < 8.2.20
  • PHP 8.1 < 8.1.29
由于PHP 8.0分支、PHP7以及PHP 5官方已不再维护,网站管理员可参考如何确认自己易遭受攻击章节,并于修补建议找到暂时缓解措施。

三、如何确认自己易遭受攻击?

对于常见之Apache HTTP Server 加上PHP组合,网站管理员可通过此文章列出之两个方式确认服务器是否易被攻击。其中,情形二也是XAMPP for Windows 安装时的预设设定,因此 所有版本的XAMPP for Windows安装也预设受此漏洞影响。
在本文撰写当下已验证当Windows 作业系统执行于下列语系时, 未授权的攻击者可直接在远程服务器上执行任意代码 :
  • 繁体中文(字码页950)
  • 简体中文(字码页936)
  • 日文(字码页932)
对于其它执行在英文、韩文、西欧语系之Windows操作系统,由于PHP使用情境广泛、暂无法完全列举并排除其利用情境,因此还是建议使用者全面盘点资产、确认使用情形并更新PHP至最新版本确保万无一失!

情形一: 将PHP 定于CGI模式下执行

在Apache Httpd设置中通过 Action 语法将对应的HTTP请求交给PHP-CGI执行文件处理时,受此漏洞影响,常见设置包含但不限于:
AddHandler cgi-script .php
Action cgi-script "/cgi-bin/php-cgi.exe"
<FilesMatch "\.php$">
SetHandler application/x-httpd-php-cgi
FilesMatch>

Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"

情形二: 将PHP执行文件暴露在外(XAMPP预设安装设置)

即使未设置PHP 于CGI模式下执行,仅将PHP执行文件暴露在CGI目录下也受此漏洞影响,常见情况包含但不限于:
  1. php.exe php-cgi.exe 复制到 /cgi-bin/ 目录中
  2. 将PHP安装目录通过 ScriptAlias 暴露到外,如:
ScriptAlias /php-cgi/ "C:/xampp/php/"

四、修复建议

强烈建议所有使用者升级至PHP官方最新版本8.3.8、8.2.20与8.1.29,对于无法升级的系统可通过下列方式暂时缓解漏洞。
除此之外,由于PHP CGI已是一种过时且易于出现问题的架构,也建议评估迁移至较为安全的Mod-PHP、FastCGI或是PHP-FPM等架构可能性。

1. 对无法更新PHP的使用者

可通过下列Rewrite规则阻挡攻击,请注意 此份规则只作为繁体中文、简体中文及日文语系中的暂时性缓解机制 ,实际上仍建议更新到已修复版本或更改架构。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]

2. 对XAMPP for Windows 使用者

在撰写本文时,XAMPP尚未针对此漏洞发布相对应的更新安装说明,如确认自身的XAMPP并没有使用到PHP CGI的功能,可通过修改下列Apache Httpd设置以避免暴露在漏洞攻击中:
C:/xampp/apache/conf/extra/httpd-xampp.conf
找到相对应的设定行数:
ScriptAlias /php-cgi/ "C:/xampp/php/"
并将其注解:
# ScriptAlias /php-cgi/ "C:/xampp/php/"

五、业界反响







请到「今天看啥」查看全文