Cobbler身份绕过导致服务器风险漏洞CVE-2024-47533
Cobbler是一款用于快速设置网络安装环境的Linux安装服务器,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机。
Cobbler 可以使用命令行方式进行管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
一、基本情况
Cobbler内置一个轻量级配置管理系统,但也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack,可以管理DHCP,DNS等。
Cobbler使用python开发,小巧轻便(15k行python代码),可以用于管理DHCP,DNS,TFTP、RSYNC及yum仓库、构造系统ISO镜像。
栋科技漏洞库关注到 Cobbler 近期发布版本更新,修复一个导致系统配置被恶意篡改的漏洞,被追踪为CVE-2024-47533,CVSS评分9.8。
二、漏洞分析
CVE-2024-47533漏洞源于Cobbler的get_shared_secret()函数,该函数负责生成和管理用于Cobbler服务器及客户端间身份验证共享密钥。
由于在 Cobbler 版本3.0.0及更高的版本中引入了一个错误,使得get_shared_secret()函数始终只返回一个固定值(-1),而并非唯一的秘密。
这就导致绕过身份验证问题,该漏洞允许任何人以用户`` password `-1 '的身份连接到cobbler服务器的XML-RPC的接口,并进行任何更改。
这为具有对Cobbler服务器的网络访问权限的任何用户提供了对服务器完全控制权,也意味着任何允许未经授权的攻击者获取系统控制权。
成功利用该漏洞后,未经授权攻击者可以完全控制Cobbler服务器,恶意篡改系统配置、部署恶意软件、并可能导致敏感数据泄露等情况。
目前,应有一个概念验证(PoC)攻击发布,利用Python代码可以轻松连接到Cobbler服务器的XML-RPC接口,展示了该漏洞的易利用性。
该漏洞影响包括Cobbler 3.0.0及以后所有版本,为防止潜在安全风险,建议受影响用户更新到最新修补版本:3.3.7或3.2.3防止攻击发生。
三、漏洞影响
Cobbler 3.0.0及以后的所有版本
四、修复建议
强烈建议受影响的Cobbler版本的用户将其安装更新到最新的修补版本:3.3.7或3.2.3。
五、 参考链接
https://github.com/cobbler/cobbler/commit/32c5cada013dc8daa7320a8eda9932c2814742b0
https://github.com/cobbler/cobbler/commit/e19717623c10b29e7466ed4ab23515a94beb2dda
https://github.com/cobbler/cobbler/security/advisories/GHSA-m26c-fcgh-cp6h