CVE-2026-40046Apache ActiveMQ存在整数溢出或回绕漏洞。该漏洞源于在修复CVE-2025-66168时,补丁仅被应用到了5.19.2版本及以后的5.19.x分支,却遗漏了所有6.0.0及以后的版本。这导致Apache ActiveMQ 6.x版本中MQTT控制包的剩余长度字段未得到正确验证。未经身份验证的攻击者可利用此漏洞通过网络发送特制数据包,导致目标服务可用性受到影响。
该漏洞的技术根源在于MQTT协议控制包中剩余长度字段的解析逻辑。MQTT协议使用变长字节编码来表示剩余长度,理论上允许最大268,435,455字节的长度。在Apache ActiveMQ 6.x版本中,由于修复补丁的遗漏,系统未对该字段进行严格的整数溢出检查。攻击者可以发送一个经过精心构造的MQTT数据包,其剩余长度字段被设置为特定的超大值或导致回绕的值。当服务端解析该字段时,发生整数溢出,可能导致分配过小的缓冲区或错误的内存偏移计算。随后在处理后续数据时,将引发缓冲区溢出或异常终止,从而导致拒绝服务。