PHP-CGI Windows平台远程代码执行漏洞

admin 2024年6月8日01:29:20评论23 views字数 1408阅读4分41秒阅读模式

PHP-CGI Windows平台远程代码执行漏洞


PHP-CGI 是一种用于在 Web 服务器上运行 PHP 脚本的接口,通过 CGI(公共网关接口)将 PHP 解释器与 Web 服务器连接。


2024年6月,PHP官方发布新版本,修复了 PHP-CGI 中一个远程代码执行漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可获取操作系统权限,建议所有使用受影响版本的企业尽快升级修复,以确保安全。



漏洞描述
 Description 


01

漏洞成因

PHP 在设计时忽略了 Windows 中的 Best-Fit 字符转换特性。当 PHP-CGI 在 Windows 平台上运行并使用特定语系(如简体中文936、繁体中文950、日文932等)时,攻击者可以构造特殊查询字符串。URL 解码后,这些字符串可能包含特定非ASCII字符,这些字符在 Windows 系统上会被映射为连字符,从而绕过 CVE-2012-1823 及 CVE-2012-2311 补丁,构造 cgi 模式的命令行参数,执行任意 PHP 代码。


漏洞影响

该漏洞可在受影响的环境下执行任意PHP代码,从而获取操作系统权限。最严重的情况下,这可能导致服务器的完全接管,敏感数据泄露,甚至将服务器转化为发起其他攻击的跳板。


处置优先级:高


漏洞类型:代码执行

漏洞危害等级:

权限认证要求:无需任何权限

系统配置要求:特定语言版本 Windows 通过 PHP-CGI 模式运行 PHP

用户交互要求:无需用户交互

利用成熟度:POC/EXP已公开

批量可利用性:可使用通用原理POC/EXP进行检测/利用

修复复杂度:低,官方提供升级修复方案










影响版本
 Affects 


02

PHP 8.3 < 8.3.8 

PHP 8.2 < 8.2.20 

PHP 8.1 < 8.1.29 

其他版本官方已停止维护,可根据实际情况采取相应的缓解措施。


解决方案
 Solution 


03

临时缓解方案


对于无法升级更新PHP版本的使用者,可使用以下Rewrite规则来缓解风险,此方案仅适用于操作系统为简体中文936、繁体中文950、日文932语系的用户。

RewriteEngine OnRewriteCond %{QUERY_STRING} ^%ad [NC]RewriteRule .? - [F,L]

升级修复方案


官方已发布新版本修复漏洞,建议访问官方页面(https://www.php.net/)获取安全版本。


同时,PHP-CGI已经是一种过时且易出问题的架构,建议迁移至更为安全的Mod-PHP、FastCGI 或是 PHP-FPM 等架构。



漏洞复现
 Reproduction 



04


PHP-CGI Windows平台远程代码执行漏洞



产品支持
 Support 


05

雷池:已发布自定义规则支持该漏洞检测。

全悉已发布规则升级包支持该漏洞检测。




时间线
 Timeline 


06


6月6日 官方发布新版本修复漏洞

6月7日 长亭安全应急响应中心发布通告



参考资料:

[1]. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-4577





长亭应急响应服务



全力进行产品升级

及时将风险提示预案发送给客户

检测业务是否收到此次漏洞影响

请联系长亭应急服务团队

7*24小时,守护您的安全


第一时间找到我们:

邮箱:[email protected]

应急响应热线:4000-327-707

原文始发于微信公众号(长亭安全应急响应中心):【已复现】PHP-CGI Windows平台远程代码执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月8日01:29:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PHP-CGI Windows平台远程代码执行漏洞https://cn-sec.com/archives/2829002.html

发表评论

匿名网友 填写信息