CVE-2024-1874
— 神龙十问 AI 深度分析摘要
CVSS 9.4 · Critical
本页是神龙十问 AI 深度分析的
摘要版。完整版(更长回答、追问、相关漏洞)需
登录查看 →
Q1这个漏洞是什么?(本质+后果)
🚨 **本质**:PHP `proc_open()` 命令注入漏洞。
🔥 **后果**:攻击者可利用数组语法绕过转义,在 **Windows** 环境下执行任意系统命令。
Q2根本原因?(CWE/缺陷点)
🛡️ **CWE**:CWE-116 (不正确的转义/编码/转储)。
🔍 **缺陷**:使用数组语法传递命令参数时,**转义不足**,导致恶意参数被直接执行。
Q3影响谁?(版本/组件)
📦 **厂商**:PHP Group。
📅 **受影响版本**:
- 8.1.* (至 8.1.28)
- 8.2.* (至 8.2.18)
- 8.3.* (至 8.3.5)
⚠️ 注意:后续补丁版本(如8.1.29等)仍存在绕过风险。
Q4黑客能干啥?(权限/数据)
💀 **权限**:拥有 PHP 进程权限。
📂 **数据**:可完全控制服务器,读取/修改任意文件,甚至接管整个系统。
📊 **CVSS**:高危 (C:H, I:H, A:L)。
Q5利用门槛高吗?(认证/配置)
🚪 **门槛**:低。
🔑 **条件**:
- **无需认证** (PR:N)
- **无需用户交互** (UI:N)
- **远程利用** (AV:N)
- **利用简单** (AC:L)
⚠️ 前提:攻击者能控制 `proc_open` 的参数。
Q6有现成Exp吗?(PoC/在野利用)
💣 **PoC**:有。
🔗 **链接**:GitHub 上存在多个 Proof of Concept (如 `ox1111` 和 `Tgcohce` 的仓库)。
🔄 **注意**:即使打了官方补丁,若命令名包含**尾部空格**,仍可能被绕过。
Q7怎么自查?(特征/扫描)
🔍 **自查**:
1. 检查 PHP 版本是否在上述受影响列表中。
2. 代码审计:搜索 `proc_open` 函数调用。
3. 确认参数是否来自用户输入且未严格过滤。
4. 检查 Windows 环境下是否使用了数组语法传参。
Q8官方修了吗?(补丁/缓解)
🩹 **官方修复**:已发布补丁。
📌 **修复版本**:8.1.29, 8.2.20, 8.3.8 及以上。
⚠️ **警告**:参考 PoC 显示,若命令字符串末尾有空格,修复可能失效,需额外注意。
Q9没补丁咋办?(临时规避)
🛡️ **临时规避**:
1. **升级**:尽快升级到最新安全版本。
2. **代码层**:避免直接使用用户输入作为 `proc_open` 参数;使用白名单校验;避免使用数组语法,改用字符串并严格转义。
3. **环境**:若非 Windows 环境,风险降低(漏洞主要影响 Windows Shell)。
Q10急不急?(优先级建议)
🚨 **优先级**:极高。
📢 **建议**:
- 立即扫描所有 PHP 服务器。
- 优先升级受影响版本。
- 若无法立即升级,实施严格的输入验证和命令白名单机制。
- 关注补丁绕过的新动态。