| 字段 | 详情 |
|---|---|
| CVE ID | CVE-2026-48030 |
| 产品 | pheditor |
| 厂商 | Hamid Samak |
| 受影响版本 | 2.0.1, 2.0.2, 2.0.3 |
| 已修补版本 | 2.0.4 |
| 严重性 | 严重 |
| CVSS 评分 | 9.9 |
| CVSS 向量 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| CWE | CWE-78(OS 命令注入) |
| 发现者 | Muslimbek Burxonov |
pheditor.php 的终端动作处理器中存在一个严重的 OS 命令注入漏洞。dir POST 参数未经任何清洗直接拼接进 shell_exec() 中,从而允许经过身份验证的攻击者绕过 TERMINAL_COMMANDS 白名单并执行任意 OS 命令。
pheditor.php, 第 586 行:
$command = $_POST['command']; // ✓ 元字符已检查
$dir = $_POST['dir']; // ✗ 未检查 — 存在漏洞
// 检查仅应用于 $command,而不应用于 $dir
if (strpos($command, '&') !== false ||
strpos($command, ';') !== false ||
strpos($command, '||') !== false) {
die(...);
}
// $dir 未经清洗直接注入 shell_exec
$output = shell_exec(
(empty($dir) ? null : 'cd ' . $dir . ' && ')
. $command . ' && echo \ ; pwd'
);
python3 poc.py --target http://TARGET/pheditor.php --password admin
完整 PoC 脚本请参见 poc.py。
pheditor.php, 第 586 行 — 替换为:
// 修改前(存在漏洞)
'cd ' . $dir
// 修改后(已修补)
'cd ' . escapeshellarg($dir)
此 PoC 仅供教育和研究目的使用。 请仅在你获得明确授权的系统上进行测试。