What’s Vulnerable › Vulnerabilities
CVE-2026-67220: RabbitMQ: JMS topic exchange erl_scan atom exhaustion
- Severity: medium (CVSS 6.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-23 · updated 2026-10-19
- Weakness: CWE-400
Description
RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0, When a binding is created on an x-jms-topic exchange, add_binding/3 reads the rjms_erlang_selector argument and passes it through erl_scan:string/1 then erl_parse:parse_term/1. erl_scan:string/1 interns every atom literal it tokenizes. validate_binding/2 is a no-op (-> ok.), there is no length cap, and the surrounding try/catch cannot reclaim atoms. The Java JMS client compiles selectors client-side, but the server does not enforce this , a raw AMQP client can send arbitrary selector strings. An authenticated low-privilege AMQP user confined to one vhost can crash the entire broker node (cross-tenant DoS) in <100 bind calls. Preconditions include rabbitmq_jms_topic_exchange plugin enabled (bundled; required for any JMS deployment) Authenticated AMQP user with read on an x-jms-topic exchange + write on a queue (or configure to declare both). This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0.
Affected products
- rabbitmq-server: from 3.13.0 before 3.13.15; from 4.0.0 before 4.0.20; from 4.1.0 before 4.1.11; from 4.2.0 before 4.2.6 — fixed in 3.13.15, 4.0.20, 4.1.11, 4.2.6
How to fix
Upgrade to a fixed version: rabbitmq-server 3.13.15, 4.0.20, 4.1.11, 4.2.6. Check the vendor advisory for mitigations.
References
- https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.2.6
- https://github.com/rabbitmq/rabbitmq-server/security/advisories/GHSA-r3qr-4h63-mvj2
Get alerted when CVE-2026-67220 or the next vulnerability affects your stack