RabbitMQ HTTP API 队列删除端点未验证用户所需权限
漏洞概述 RabbitMQ 服务器的 HTTP API 中存在一个安全漏洞,编号为 CVE-2024-51988。具体而言,该漏洞存在于通过 HTTP API 进行队列删除的功能中。在受影响版本中,系统未能正确验证发起删除操作的用户是否具备必需的 配置(configure) 权限。
漏洞详情
- 受影响的包:
rabbit_common(Erlang) - 受影响版本: RabbitMQ 版本 >= 3.12.7 且 < 3.12.11
- 已修复版本: 3.12.11
漏洞影响 满足以下所有条件的用户,即使未被授予针对目标队列的删除权限,也可能成功删除队列:
- 拥有有效的身份凭证。
- 对目标虚拟主机(virtual host)拥有某些权限(但可能不包括删除权限)。
- 拥有 HTTP API 的访问权限。
此漏洞属于权限控制不当问题,攻击者可利用它执行越权操作。
CVSS 评分
- 总体严重性: 高(7.1/10)
- 攻击向量: 网络
- 攻击复杂性: 低
- 所需权限: 低
- 用户交互: 无
- 影响: 对系统完整性造成高影响,对机密性和可用性无直接影响。
弱点分类
- CWE: CWE-284 - 不正确的访问控制
- OWASP 分类: OWASP Top10 A01:2021 – 失效的访问控制
临时解决方案 如果无法立即升级到已修复的版本,可以考虑以下临时缓解措施:
- 禁用管理插件:停用 RabbitMQ 的管理插件。
- 使用替代监控方案:采用其他监控工具链,例如 Prometheus 和 Grafana 来监控 RabbitMQ 状态。
相关参考
- GitHub 安全公告: GHSA-pj33-75x5-32j4
- RabbitMQ Prometheus 监控文档: https://www.rabbitmq.com/docs/prometheus
- NVD 详情页: https://nvd.nist.gov/vuln/detail/CVE-2024-51988
时间线
- 报告者: bedla, anhanhnguyen
- 修复开发者: michaelklishin
- 发布于 GitHub Advisory Database: 2024年11月6日
- 最后更新: 2024年11月7日