CVE-2026-67235: RabbitMQ: AMQP 0-9-1 body assembly never validates accumulated size
RabbitMQ is a messaging and streaming broker. Prior to versions 4.3.0, 4.2.6, 4.1.11, 4.0.20, and 3.13.15, The content-header BodySize (a uint64) was stored without validation against maxmessagesize. The size check ran only when assembly completed. By declaring bodysize = 2^63-1 and then streaming fragments, a client ensured that checkmsgsize never fired, so the accumulated body size went unbounded. A reader process accumulates memory until the memory alarm fires, degrading all publishers cluster-wide, or until the node runs out of memory. The memory alarm provides only partial mitigation, since it is reactive rather than preventive. AMQP 0-9-1 is the most widely used protocol, and any publisher can trigger this condition. Preconditions include Any authenticated AMQP 0-9-1 client with publish permission can exploit this.. This issue is fixed in versions 4.3.0, 4.2.6, 4.1.11, 4.0.20, and 3.13.15.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.3.0 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.2.6 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.1.11 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.0.20 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 3.13.15
Event History
Frequently Asked Questions
Which clients can exploit this issue?
Any authenticated client using AMQP 0-9-1 that has publish permission can trigger the condition. Because AMQP 0-9-1 is RabbitMQ's most widely used protocol, exposure can include ordinary publishing clients rather than only administrative users.
What is the operational impact of exploitation?
A malicious publisher can declare an extremely large body size and stream fragments so that the reader process accumulates memory without the normal message-size check firing. This can trigger the memory alarm and degrade publishers across the cluster, or exhaust memory on the affected node.
Does the memory alarm prevent exploitation?
No. The memory alarm is only a partial, reactive mitigation: memory can already have been consumed before it fires, and cluster-wide publisher degradation can occur.
Which releases contain the fix?
The issue is fixed in RabbitMQ 4.3.0, 4.2.6, 4.1.11, 4.0.20, and 3.13.15. Versions earlier than those listed for their respective release lines are affected.