跳到主要内容

超危

PHP QUERY_STRING参数代码执行漏洞

2012-05-08 00:00:00 公开 ,2025-10-22 01:09:38 更新

  • 关键漏洞
  • CISA KEV
  • 勒索软件漏洞
  • APT漏洞
  • 公开PoC
  • 远程
  • CWE Top 25 (2023)
  • 开源组件漏洞
  • 2024两高一弱互联网漏洞
  • 2024两高一弱内网漏洞
  • 无需认证
  • CWE Top 25 (2024)
  • 2025两高一弱漏洞
CWEs:
CWE-20 (Improper Input Validation) CWE-77 (Command Injection)
SSVC:
可利用状态:已被积极利用攻击自动化:是技术影响评估:全部 2025-02-07 21:10:55

风险信息

CVSS v2 向量
AV:N/AC:L/Au:N/C:P/I:P/A:P
CVSS v2 风险值
7.5
CVSS v3.1 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 风险值
9.8

详细信息

漏洞类型
输入验证错误
漏洞描述
PHP(PHP:Hypertext Preprocessor,PHP:超文本预处理器)是PHP Group和开放源代码社区共同维护的一种开源的通用计算机脚本语言。该语言主要用于Web开发,支持多种数据库及操作系统。 5.3.12之前版本的PHP中的sapi/cgi/cgi_main.c和5.4.2之前版本的5.4.x中的sapi/cgi/cgi_main.c在配置为cgi脚本(也称为PHP cgi)时,无法正确处理缺少=(等号)字符的查询字符串,远程攻击者可以通过在查询字符串中放置命令行选项来执行任意代码,与缺少跳过d案例的特定php_getopt相关。
修复建议
1、应用更新PHP发布了版本5.4.3和5.3.13来解决此漏洞。PHP建议用户升级到PHP的最新版本。http://www.php.net/archive/2012.php#id2012-05-08-1 PHP已经声明,PHP5.3.12/5.4.2不会修复CVE-2012-1823中描述的CGI问题的所有变体。 2、应用mod_重写规则PHP声明了另一种选择,即配置web服务器,使这些类型的请求不允许查询字符串以-开头,并且不包含=到。添加这样的规则不会破坏任何站点。对于使用mod_rewrite的Apache,它将如下所示:RewriteCond %{QUERY_STRING} ^[^=]*$RewriteCond %{QUERY_STRING} %2d|\- [NC]RewriteRule .? - [F,L]

参考链接