腾讯云

新的 cPanel 数据库漏洞 (CVE-2026-58048) 到底是什么情况?

最近,CVE-2026-58048「Database Privilege Escalation(数据库权限提升)」正在社区里传得沸沸扬扬。如果你还没注意到,请务必警惕:你的 cPanel 很可能已经存在漏洞,而且它至少影响所有受支持的版本。

影响范围:一个已经通过认证的 cPanel 账户持有者,只要拥有 MySQL/MariaDB 数据库功能的访问权限,就有可能以完整的管理员权限执行任意数据库命令。取决于操作系统和数据库引擎的配置,这种攻击甚至可能进一步升级到操作系统层面的入侵。

换句话说,如果你给我一个 MySQL 账户、并授予我管理自己数据库的权限(这也是最常规的配置),我就可以发出一些命令,以 MySQL root 用户的身份执行操作。一旦做到这一点,我就能直接接管 root 以及整个 MySQL 实例。

想想这意味着什么:该 cPanel 上每一个 WordPress 或其他数据库驱动的站点所存储的全部数据,攻击者都能一览无余;攻击者可以重置数据库和应用的密码,从而登录他人的 WordPress 站点;他们还能禁用 WordPress 的二次验证(2FA),因为相关配置信息就存放在数据库里;此外,攻击者还具备有限的操作系统交互能力,比如通过 MySQL 创建文件等。

好消息是,攻击者必须先拥有一个账户,所以这不像是外部黑客能直接闯进来接管你的 MySQL。坏消息是,如果你正在使用 cPanel,你很可能就是一个公开的共享主机提供商,而让一个随机的网民注册账户正是你的业务逻辑。这显然非常糟糕。

但有趣的地方在于,并不存在对应的 MySQL 漏洞。Oracle、MariaDB 等厂商都没有声称其数据库系统中存在「非特权用户可升级到 MySQL root」的漏洞。

因此,这是 cPanel 配置和运行 MySQL 的某个特定方式导致的问题。而 cPanel 至今没有说明具体原因——至少目前还没有。

那么可能的原因是什么?

从 SQL 注入到特权后端:cPanel 内部可能存在类似这样的逻辑——它不是执行一条固定的命令,而是根据输入动态拼接 SQL。本不应该有人这么做,但 cPanel 那套基于 Perl 的架构已经有 30 年历史了。

或者,这也可能是某种任意 SQL 后端。如果 SQL 被故意构造为畸形语句(例如「SELECT * FROM mytable; update mysql.user set password=’blah’ where user=’root’」),那么当它以特权 root 用户身份执行时,灾难就会发生。

混乱副手(Confused Deputy):如果 cPanel 拥有类似这样的内部 API……那么一旦参数校验存在缺陷,这里的「副手」就可能被误导而做错事;又或者,如果这些内部 API 本身不校验归属与权限,就可能允许攻击者执行本不该被允许的操作。

静观其变:有趣的是,该 CVE 并没有说明攻击者需要本地 shell。因此,这种攻击很可能纯粹发生在数据库层面。在这种情况下,上述情况会以存储过程或函数的形式出现。

无论根本原因是什么,你都必须尽快给你的 cPanel 打上补丁!