漏洞概述 RabbitMQ 4.2.6 版本中存在多个漏洞,主要涉及消息队列、权限检查、配置管理等方面。 影响范围 Quorum queues: 命令可能返回错误顺序的消息。 rabbitmqctl forget_cluster_node:在离开集群前会移除所有 quorum queue 和 stream 成员(副本),可能导致部分副本留在离开节点上。 AMQP 0-9-1 configure 权限检查:现在适用于被动队列和交换声明,匹配其常规对应物的行为。 Khepri 缺失键:现在正确区分某些内部操作中的错误,避免不必要的错误级别日志消息。 Bindings 目标 Direct Reply-to pseudo-queues:现在被拒绝,而不是静默接受且无功能效果。 Management UI:OAuth 2 与 basic_auth 结合时可能无法正确重新加载提供程序配置。 Management UI:用户更改密码后出现 401 错误,会话现在自动刷新。 Management UI: 端点已移除。 POST /api/users/bulk-delete:现在尊重 配置,匹配单用户 端点的行为。 Quorum queue status 和 stream tracking 端点:现在强制执行虚拟主机访问检查,与其他 vhost 范围端点一致。 HTTP API:显示静态连接信息(对等地址、TLS 细节、认证机制),即使禁用统计收集。 Super stream 创建:通过 HTTP API 现在验证 权限,匹配流协议代码路径。 Management API regex filters:现在强制执行匹配限制,防止病态模式消耗过多 CPU 时间。 MQTT QoS 0 队列类型:现在在管理 API 响应中报告成员信息。 WebSocket 连接:默认 现在设置,限制解压缩帧大小。 WebSocket 连接: 现在强制执行,匹配 TCP 监听器行为。 WebSocket Origin 头验证:现在可通过 和 配置。 AMQP 1.0 shovels:关闭连接时不再正确分离链接,防止关闭期间出现虚假错误日志条目。 AMQP 1.0 shovel status:不再在 API 响应和 CLI 输出中包含完整连接 URI。 DELETE 操作:现在需要 标签,匹配 federation 插件对应物。 Federation link restart 操作:现在需要 标签。 Auth cache 后端:现在正确委托令牌过期时间戳到包装后端,确保连接在令牌过期时关闭。 OAuth 2 管理 UI:改进提供程序配置加载和渲染。 DN 值:现在按 RFC 4514 处理。 证书识别:重构以避免(不太可能)冲突。 证书管理:引入适当的 CLI 命令。 拒绝的证书:现在记录额外的诊断细节。 Binding 权重:超过 10,000 的绑定权重现在被拒绝,之前极端大的权重可能导致过度内存分配。 修复方案 Quorum queues:确保 命令返回正确顺序的消息。 rabbitmqctl forget_cluster_node:在离开集群前正确移除所有 quorum queue 和 stream 成员(副本)。 AMQP 0-9-1 configure 权限检查:确保权限检查适用于被动队列和交换声明。 Khepri 缺失键:正确区分某些内部操作中的错误,避免不必要的错误级别日志消息。 Bindings 目标 Direct Reply-to pseudo-queues:拒绝目标为 Direct Reply-to pseudo-queues 的绑定。 Management UI:确保 OAuth 2 与 basic_auth 结合时正确重新加载提供程序配置。 Management UI:用户更改密码后自动刷新会话。 Management UI:移除 端点。 POST /api/users/bulk-delete:尊重 配置。 Quorum queue status 和 stream tracking 端点:强制执行虚拟主机访问检查。 HTTP API:显示静态连接信息,即使禁用统计收集。 Super stream 创建:验证 权限。 Management API regex filters:强制执行匹配限制。 MQTT QoS 0 队列类型:在管理 API 响应中报告成员信息。 WebSocket 连接:设置默认 ,强制执行 ,支持 WebSocket Origin 头验证。 AMQP 1.0 shovels:关闭连接时正确分离链接。 AMQP 1.0 shovel status:不在 API 响应和 CLI 输出中包含完整连接 URI。 DELETE 操作:需要 标签。 Federation link restart 操作:需要 标签。 Auth cache 后端:正确委托令牌过期时间戳到包装后端。 OAuth 2 管理 UI:改进提供程序配置加载和渲染。 DN 值:按 RFC 4514 处理。 证书识别:重构以避免冲突。 证书管理:引入适当的 CLI 命令。 拒绝的证书:记录额外的诊断细节。 Binding 权重:拒绝超过 10,000 的绑定权重。 POC 代码或利用代码 页面中未包含具体的 POC 代码或利用代码。