🟠 高危 | CVE-2026-54540 — Pheditor is a single-file editor and file manager ...
🟠 《高危安全漏洞:CVE-2026-54540》
CVSS 评分: 高危(8.8) 状态: Received 发布时间: 2026-07-27
漏洞简介
CVE-2026-54540 是一个存在于 Pheditor 中的安全漏洞。Pheditor 是一个用 PHP 编写的单文件编辑器与文件管理器。在版本 2.0.5 之前,该软件存在一个已认证用户的终端命令白名单绕过漏洞。
具体来说,Pheditor 的终端功能会检查用户提交的命令是否以配置的 TERMINAL_COMMANDS 列表中的某个值开头。如果检查通过,系统会将完整的命令字符串直接传递给 shell_exec() 函数执行。然而,该检查并未阻止 shell 命令替换语法(如 $())的使用。因此,拥有终端权限的已认证用户可以通过在允许的命令中嵌入命令替换,绕过受限的命令白名单,以 Web 服务器用户的身份执行任意 shell 命令。
该漏洞对应的 CWE 分类为 CWE-78(OS 命令注入),CVSS 3.1 评分为 9.9(严重),攻击向量为网络远程攻击,攻击复杂度低,需要低权限认证,无需用户交互,影响范围包括机密性、完整性和可用性的完全丧失。
影响范围
- 受影响版本:Pheditor 版本 2.0.5 之前的所有版本
- 修复版本:Pheditor 版本 2.0.5
- 参考链接:
风险分析
该漏洞的风险等级极高,具体分析如下:
攻击前提:攻击者需要拥有 Pheditor 的有效用户凭证,并且该用户被授予了终端功能的使用权限。虽然需要认证,但在多用户环境或凭证泄露场景下,攻击面仍然存在。
攻击方式:攻击者可以提交一个以白名单命令开头的字符串,并在其中嵌入 shell 命令替换语法(例如
$(恶意命令))。由于白名单检查仅验证命令的开头部分,而shell_exec()会解析并执行整个字符串中的命令替换,因此攻击者可以执行任意系统命令。攻击后果:
- 完全控制 Web 服务器:攻击者可以以 Web 服务器用户的身份执行任意命令,包括读取、修改或删除服务器上的文件,安装恶意软件,或横向移动至内网其他系统。
- 数据泄露:攻击者可以访问数据库配置文件、用户数据、源代码等敏感信息。
- 服务中断:攻击者可以终止关键进程或破坏系统文件,导致服务不可用。
- 权限提升:如果 Web 服务器用户具有 sudo 权限或存在其他本地提权漏洞,攻击者可能进一步获得 root 权限。
修复建议:用户应立即升级至 Pheditor 2.0.5 或更高版本。如果无法立即升级,建议暂时禁用终端功能或严格限制可访问该功能的用户范围。
🔍 技术细节
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-54540 |
| CVSS 评分 | 8.8 🟠 |
| 严重程度 | 高危 |
| CVSS 向量 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CWE 分类 | CWE-78 |
| 发布时间 | 2026-07-27 |
| 最后更新 | 2026-07-27 |
| 状态 | Received |
| 数据来源 | security-advisories@github.com |