Windows PHP-CGI 对命令行参数的编码处理存在缺陷,在特定系统语言环境下可把请求参数解释为选项并执行任意代码。
漏洞概览
- CVE 编号
- CVE-2024-4577
- 影响产品
- PHP CGI on Windows
- 漏洞类型
- 远程代码执行
- CWE 分类
- CWE-78
- CVE 公开日期
- 2024-06-09
- CVE 记录更新日期
- 2025-10-21
- 资料核验日期
- 2026-09-18
- 区域标签
- 全球(中日韩语言环境重点)
安全风险等级评估
影响范围与修复版本
| 产品或分支 | 受影响范围 | 历史修复边界或说明 |
|---|---|---|
| PHP 8.1 | <8.1.29 | 8.1.29 |
| PHP 8.2 | <8.2.20 | 8.2.20 |
| PHP 8.3 | <8.3.8 | 8.3.8 |
漏洞详情
漏洞机制
Windows 在特定代码页下可能通过 Best-Fit 行为转换传入 Win32 API 的命令行字符。Apache/PHP-CGI 组合可能将转换后的内容误识别为 PHP 选项,进而暴露源码或执行任意 PHP 代码。
触发条件与权限边界
官方范围针对 Windows 上的 Apache 与 PHP-CGI 及相关代码页条件,不是所有 PHP 部署均具有该入口。将业务迁移到其他运行模式需要核对平台支持,不能把 PHP-FPM 当作 Windows 原位通用开关。
场景与影响
该漏洞是对 CVE-2012-1823 的补丁绕过,中文、日文和部分其他代码页环境需要重点检查。暴露在公网的 PHP CGI 站点可被自动化扫描。
检测与排查
资产、配置与日志核查
确认 Web 服务实际调用的 php-cgi 二进制、版本、映射和系统代码页,检查异常参数及新增 PHP 文件;重启相关服务后回读实际运行配置。
防范措施与修复验证
修复与缓解
更新受影响 PHP 分支,检查 Apache CGI 映射与 Windows 代码页。关闭不需要的 CGI 入口;若变更运行模式,应在受支持平台完成迁移测试。WAF 和参数过滤只能作为临时附加防护。
修复后的验证
完成变更后,回读 PHP CGI on Windows 的实际运行版本、补丁与配置,确认已落在厂商修复范围;需要重启的服务或系统必须验证重启结果。再检查相关业务功能、访问控制与日志,记录修复前后证据。临时缓解应单独标注,并跟踪正式修复;没有触发异常不等于漏洞不存在。
参考来源
英文技术描述已整理为中文,保留产品名、协议名和版本号。CVE 记录与 KEV 核验日期:2026-09-18;KEV 目录版本:2026.09.16。厂商公告可能继续更新,处置时应核对最新产品矩阵。



暂无评论内容