CVE-2026-67227: RabbitMQ: Atom exhaustion: to_atom on global-parameter :name
RabbitMQ is a messaging and streaming broker. From 4.0.0 until 4.0.22 and 4.1.14 and 4.2.7 and 4.3.1, Atom exhaustion: toatom on global-parameter :name. resourceexists/2 (and the PUT/DELETE handlers) call rabbitdatacoercion:toatom/1 on the :name URL path segment. toatom/1 uses binarytoatom/2 (unsafe). The endpoint requires policymaker (not management, but below A user with the policymaker tag can crash the node by exhausting the atom table via repeated requests to /api/global-parameters/:name with unique :name Management plugin enabled policymaker tag ~1M HTTP. This issue is fixed in versions 4.0.22 and 4.1.14 and 4.2.7 and 4.3.1.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.0.22 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.1.14 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.2.7 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.3.1
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated RabbitMQ user with the policymaker tag can exploit it. The management plugin must be enabled; management-tag access alone is not sufficient.
What does exploitation require?
The attacker repeatedly sends requests to /api/global-parameters/:name using unique values for the :name path segment. The issue can exhaust the Erlang atom table and crash the RabbitMQ node, with the advisory indicating roughly 1 million HTTP requests.
Which deployments are affected?
Affected releases are RabbitMQ 4.0.0 through versions before 4.0.22, plus affected 4.1 releases before 4.1.14, 4.2 releases before 4.2.7, and 4.3 releases before 4.3.1. Deployments without the management plugin enabled are not exposed through the described endpoint.
What should be done if an immediate upgrade is not possible?
Restrict or remove the policymaker tag from untrusted users and prevent those users from reaching the management API endpoint. This reduces access to the vulnerable global-parameters handlers until an upgrade can be completed.
How can administrators identify attempted exploitation?
Look for repeated requests to /api/global-parameters/:name where the :name values are continuously unique, especially from accounts carrying the policymaker tag. Such request patterns are the described mechanism for atom-table exhaustion.