关键漏洞信息 CVE 编号 CVE-2024-42655 漏洞类型 访问控制权限绕过 漏洞版本 NanoMQ 0.21.8 漏洞影响 此漏洞允许未经授权的 MQTT 客户端绕过 NanoMQ 的主题级别访问控制,并接收发布到以 开头的受限系统主题的消息,如 和 。这些主题可能包含敏感的代理元数据,包括版本信息和连接客户端的详细信息,这对攻击者进行侦察或有针对性的利用非常有价值。 在受影响的版本中,即使访问控制明确拒绝订阅 主题,NanoMQ 也会错误地将系统消息转发给订阅了通配符主题(如 或 )的客户端,导致意外的信息泄露。 此漏洞被归类为非崩溃、逻辑缺陷,需要多个参与方之间的交互:一个具有有限权限的订阅者 (S) 和一个发布者 (P)。缺陷在于代理转发内部系统消息的逻辑,而未验证订阅者对这些主题的授权。 再现步骤 1. 启动带有 ACL 强制系统主题限制的 NanoMQ: 2. 订阅者客户端 (S):使用具有访问限制的用户连接并订阅所有主题: 3. 发布者客户端 (P):向非系统主题发布任何消息以触发内部 更新: 4. 结果:尽管访问控制拒绝订阅 ,订阅者 S 仍会收到 或 上的消息,表明权限绕过。 安全风险 此缺陷违反了 MQTT 协议规则 [MQTT-4.7.2-1],该规则规定 主题仅用于内部使用,并且必须根据代理定义的安全策略进行处理。暴露此类信息可能帮助攻击者: 枚举活动代理或客户端。 推断系统拓扑。 发起进一步的针对性攻击。