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.
Published: 2026-09-23
Score: 6 Medium
EPSS: n/a
KEV: No
Impact: Denial of Service due to atom exhaustion in the JMS topic exchange
Action: Apply Patch
AI Analysis

Impact

A flaw in the JMS topic exchange implementation allows an authenticated AMQP user to submit a selector string that the server parses with Erlang’s scanner and parser. The scanner interns every atom literal it encounters, with no length limit, causing the atom table to be exhausted and the broker to crash. The result is a cross‑tenant denial of service that can be triggered with fewer than 100 binding operations.

Affected Systems

RabbitMQ Server versions prior to 3.13.15, 4.0.20, 4.1.11, 4.2.6 and 4.3.0 that have the bundled rabbitmq_jms_topic_exchange plugin enabled. An authenticated AMQP user with read access to an x-jms-topic exchange and write access to a queue (or the ability to declare both) is required to exploit the issue.

Risk and Exploitability

The vulnerability carries a CVSS score of 6.0, indicating moderate severity. The EPSS score is not available and the flaw is not listed in the CISA KEV catalog. An attacker who can obtain low‑privilege AMQP credentials, or who can craft raw AMQP traffic, can exploit the defect through a relatively simple binding sequence, leading to a broker crash within a short burst of operations.

Generated by OpenCVE AI on September 23, 2026 at 21:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade RabbitMQ to at least version 3.13.15, 4.0.20, 4.1.11, 4.2.6 or 4.3.0 where the issue is fixed.
  • If JMS functions are not required, disable the rabbitmq_jms_topic_exchange plugin to eliminate the vulnerability surface.
  • If an upgrade is not immediately possible, restrict AMQP users so they cannot write to queues or create bindings on x‑jms‑topic exchanges, and monitor for excessive binding attempts to detect abuse.

Generated by OpenCVE AI on September 23, 2026 at 21:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 23 Sep 2026 22:15:00 +0000

Type Values Removed Values Added
First Time appeared Rabbitmq
Rabbitmq rabbitmq-server
Vendors & Products Rabbitmq
Rabbitmq rabbitmq-server

Wed, 23 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
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.
Title RabbitMQ: JMS topic exchange erl_scan atom exhaustion
Weaknesses CWE-400
References
Metrics cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Rabbitmq Rabbitmq-server
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-23T20:06:48.985Z

Reserved: 2026-07-28T19:50:39.437Z

Link: CVE-2026-67220

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-23T21:17:00.220

Modified: 2026-09-23T21:17:00.220

Link: CVE-2026-67220

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-23T22:00:14Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption