【外评】严重 PHP 漏洞使服务器面临远程代码执行风险

DEVCORE 在 PHP 中发现了一个严重的远程代码执行漏洞,影响到 Windows 系统上所有版本的 PHP 语言。该漏洞被追踪为 CVE-2024-4577,已于 2024 年 6 月 6 日得到修补。

发现和披露

DEVCORE 攻势研究小组在检查 PHP 与 Windows 编码转换功能的集成时发现了这个关键漏洞。该漏洞允许未经认证的攻击者使用特定字符序列绕过现有保护(特别是 CVE-2012-1823),从而在受影响的服务器上执行任意代码。DEVCORE 于 2024 年 5 月 7 日向 PHP 官方团队报告了该问题,官方团队承认了问题的严重性,并迅速开发和发布了补丁。

技术细节和影响

该漏洞源于 PHP 实现中的一个疏忽,特别是在 Windows 上进行编码转换时对 Best-Fit 功能的处理。该漏洞允许参数注入攻击,从而危及服务器安全。受影响的 PHP 版本包括:

  • 8.3.8 以下的 PHP 8.3 版本
  • 8.2.20 以下的 PHP 8.2 版本
  • 8.1.29 以下的 PHP 8.1 版本

值得注意的是,较早的 PHP 分支(8.0、7.x、5.x)已经报废,仍未得到维护,这增加了仍在运行这些版本的系统的风险。

在 CGI 模式下运行 PHP 或暴露 PHP 二进制文件的服务器尤其面临风险。常见的受影响配置包括

  • 在 Apache 配置中将 HTTP 请求映射到 PHP-CGI 可执行文件。
  • XAMPP for Windows,默认情况下会暴露 PHP 可执行二进制文件。

DEVCORE 已在使用繁体中文(代码页 950)、简体中文(代码页 936)和日文(代码页 932)的 Windows 本地语言中验证了该漏洞的可利用性。对于其他本地语言,包括英语、韩语和西欧语,由于 PHP 的使用场景多种多样,建议进行全面的资产评估。

补救措施

强烈建议升级到最新的 PHP 版本(8.3.8、8.2.20、8.1.29)。对于无法立即升级的系统,临时的缓解措施包括实施特定的 Apache 重写规则来阻止攻击向量,特别是在已识别为易受攻击的本地。

对于使用 XAMPP for Windows 的用户,注释掉 Apache 配置文件中的 ScriptAlias /php-cgi/”C:/xampp/php/”行可以减少漏洞的暴露。

服务器管理员应

  • 确保 PHP 已更新至 8.3.8、8.2.20 或 8.1.29 版本。
  • 彻底检查 PHP 配置,尤其是使用 CGI 模式或暴露 PHP 二进制文件的服务器。
  • 如果无法立即升级,则使用推荐的重写规则。
  • 评估迁移到更安全的 PHP 执行架构,如 Mod-PHP、FastCGI 或 PHP-FPM。

 

本文文字及图片出自 Critical PHP Vulnerability Exposes Servers to Remote Code Execution

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注