导语
开源服务器管理面板 Froxlor 于 2026 年 9 月 26 日被披露三个高危漏洞:CVE-2026-100716 与 CVE-2026-100717 的 CVSS 3.1 评分同为 9.9,CVE-2026-100715 为 9.6。三者都只需一个低权限客户账号触发,均以 root 权限落地,官方已在 2.3.12 一并修复。
事件概述
- 受影响产品与版本:Froxlor 服务器管理面板,2.3.10 及以下,修复版本 2.3.12
- 披露与登记:VulnCheck 作为 CNA 登记,原发现者为 skeletonsec 与 arpitjain099;无公开 PoC,未进入 CISA KEV
技术细节
CVE-2026-100716 — 符号链接路径遍历提权至 root(CVSS 3.1 9.9 / 4.0 8.5)
问题出在客户数据导出(DataDump)定时任务。Froxlor\FileDir::makeCorrectDir() 存在 off-by-one 缺陷,跳过客户主目录下第一段路径的校验;ExportCron.php 只检查最终路径段是否为符号链接。攻击链:客户在自身目录的合法子目录排入一次导出任务,在 root 执行前把中间路径段替换为指向 /etc 的符号链接,cron 随后对该目标执行 chown -R,把链接目标整棵目录树的属主改为攻击者 UID,由此获得系统关键配置文件的写权限并维持 root 级访问。(GHSA-75h4 补丁不完整)
CVE-2026-100717 — CRLF 注入写入 Web 服务器配置(CVSS 3.1 9.9 / 4.0 8.5)
Validate::validateUrl 只对 parse_url 返回的 path、query、fragment 拒绝回车换行字符,从不检查 userinfo(user:pass@)部分。仅持有子域名创建权限的客户可在重定向 URL 的 userinfo 中夹带 CR/LF 载荷,该值通过校验、经 IDNA 编码后原样写入 nginx 或 Apache vhost 配置。Froxlor 以 root 重载配置,注入指令全服务器生效,可用于劫持响应或读取本地文件。(GHSA-c3p2 的不完整修复)
# userinfo 中注入换行
http://user%0areturn 200 "pwned";%0a@evil.com/
CVE-2026-100715 — 符号链接任意文件删除(CVSS 3.1 9.6)
FTP 数据删除定时任务(task 8,deleteFtpData)在删除账号时调用 makeCorrectDir() 未传入 $fixed_homedir,跳过符号链接校验,随后以 root 执行 rm -rf。攻击者在任务排入与 cron 执行之间于 FTP 家目录放置符号链接即可触发;由于 makeCorrectDir() 追加结尾斜杠,GNU rm 会解引用该链接并递归删除任意目录树,造成跨租户数据破坏与主机级拒绝服务。
影响评估
三者都要求「低权限已认证用户」(PR:L),无法被未认证攻击者直接利用,但共享主机场景中客户账号天然开放。三者都直接打破租户隔离边界:文件属主被改写、vhost 指令被注入、目录树被 root 删除,任一成功即影响同宿主全部租户,并可作为横向移动的跳板。
修复建议
- 升级到 Froxlor 2.3.12,该版本一并修复三者。
- 审计拥有导出与子域名创建权限的客户账号。
- 检查生成的 vhost 配置有无非预期指令行(尤其 return、location 语句),并排查 FTP 家目录中指向
/etc、/var的可疑符号链接。