CVE-2026-87899:cPanel CalDAV 服务越权,任意租户可提权至 root

cPanel 于 9 月 22 日发布紧急安全更新,修复三处租户隔离缺陷,其中最严重的 CVE-2026-87899 允许任意持有 cPanel 账户的用户通过 CalDAV/CardDAV 功能提权至 root 并执行任意代码,CVSS 4.0 评分 9.4。在共享主机环境中,这意味着一个普通租户账号即可接管整台服务器,进而读取或篡改同机所有客户的站点、数据库与凭据。

事件概述

三处漏洞均由安全研究者 Ali Mustafa(rz1027)报告,同步于 9 月 22 日修复。受影响范围为 cPanel & WHM 120 及更高版本,120 之前的版本不受影响。修复版本为 11.134.0.57、11.136.0.41、11.138.0.8,WP Squared 为 11.138.1.11。全部通告均未提及在野利用证据。

技术细节

CalDAV/CardDAV 功能自 120 版本起由 cpdavd 服务承载,通过 TCP 2079 与 2080(TLS)暴露,账户日历与联系人数据存放在 /var/cpanel/caldav/ 与 /var/cpanel/carddav/ 下,设计上要求按 UID 严格隔离。

CVE-2026-87899 同时打破了两层边界:第一层是目录权限未按 UID 强制,导致跨账户文件系统可见,这一层单独显现为 CVE-2026-68490;第二层是 cpdavd 与其 root 权限后端之间的 IPC 套接字缺少调用方认证,任何能触达该套接字的账户都可以向它下发特权指令。第一层打开了租户边界,第二层把这道开口变成通往 root 的直连通道。攻击载荷可以是构造的 .ics 条目、畸形的 vCard,或直接携带 shell 命令的 IPC 消息。

第三处漏洞 CVE-2026-87900 位于 WP Toolkit 的数据库创建命令处理,登录用户可修改其他租户名下的数据库,WP Toolkit 6.11.2-10794 及更早版本受影响,修复版本 6.11.3。

影响评估

利用无需任何前置条件——付费共享主机账户或任意一个被盗凭据即可,不需要额外角色与权限。root 到手后可注入 SSH 公钥、写入 /etc/cron.d/ 计划任务、伪造 WHM 会话,并静默读取同机全部客户的邮箱密码与数据库配置。公共注册的共享主机、单机数百账号的密集多租户节点风险最高。

修复建议

# 确认当前版本
/usr/local/cpanel/cpanel -V
# 强制升级
/usr/local/cpanel/scripts/upcp --force
  • 升级到 11.138.0.8 或更高(134/136 分支对应 11.134.0.57 / 11.136.0.41),WP Squared 升级到 11.138.1.11+,WP Toolkit 需单独升级到 6.11.3+。
  • 无法立即升级时,可在 WHM 的 Service Configuration > CalDAV/CardDAV 中临时关闭该服务,代价是日历与联系人同步不可用。
  • 事后排查:审计升级前 30 天的账户创建日志,检查 cpdavd_error_log 中的跨账户路径访问错误,核对 /root/.ssh/authorized_keys、/etc/cron.d/ 与 WHM 会话目录是否存在异常写入,必要时强制重置全部 cPanel 账户密码。

参考来源