RabbitMQ HTTP API权限验证漏洞详解:CVE-2024-51988

本文详细分析了RabbitMQ服务器中的一个高危安全漏洞(CVE-2024-51988)。该漏洞存在于HTTP API的队列删除端点,未能正确验证用户的配置权限,可能导致具有部分权限的用户越权删除队列。

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

漏洞影响 满足以下所有条件的用户,即使未被授予针对目标队列的删除权限,也可能成功删除队列:

  1. 拥有有效的身份凭证。
  2. 对目标虚拟主机(virtual host)拥有某些权限(但可能不包括删除权限)。
  3. 拥有 HTTP API 的访问权限。

此漏洞属于权限控制不当问题,攻击者可利用它执行越权操作。

CVSS 评分

  • 总体严重性: 高(7.1/10)
  • 攻击向量: 网络
  • 攻击复杂性: 低
  • 所需权限: 低
  • 用户交互: 无
  • 影响: 对系统完整性造成高影响,对机密性和可用性无直接影响。

弱点分类

  • CWE: CWE-284 - 不正确的访问控制
  • OWASP 分类: OWASP Top10 A01:2021 – 失效的访问控制

临时解决方案 如果无法立即升级到已修复的版本,可以考虑以下临时缓解措施:

  • 禁用管理插件:停用 RabbitMQ 的管理插件。
  • 使用替代监控方案:采用其他监控工具链,例如 PrometheusGrafana 来监控 RabbitMQ 状态。

相关参考

时间线

  • 报告者: bedla, anhanhnguyen
  • 修复开发者: michaelklishin
  • 发布于 GitHub Advisory Database: 2024年11月6日
  • 最后更新: 2024年11月7日
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计