CVE-2024-54679 - CyberPanel(又名 Cyber Panel)拒绝服务漏洞
在 Cyber Panel 中发现了一个拒绝服务(DoS)漏洞,允许任何经过身份验证的用户通过发送请求到 /dataBases/restartMySQL 端点来重启数据库。该漏洞出现在 Cyberpanel/databases/views.py 文件第 400 行的 restartMySQL 函数中,该操作在执行前未检查用户权限(ACL)。该函数首先从会话中获取用户 ID(身份验证检查),然后调用 mysqlUtilities 类中的 restartMySQL 方法,该方法执行数据库重启命令(sudo systemctl restart mariadb)。仅在此操作之后才检查用户是否为管理员。由于在重启操作前缺乏 ACL 检查,该端点对任何经过身份验证的用户都可用。攻击者可以使用低权限账户通过反复向该端点发送请求,导致数据库崩溃,从而造成拒绝服务。
CyberPanel(又名 Cyber Panel)版本至 2.3.7 以及(未修复的)2.3.8
/dataBases/restartMySQL 端点发送请求以重启数据库。
存在漏洞的代码
mysqlUtilities.restartMySQL 方法
Abdul Wassay(hotplugin0x01)