Skip to main content

RabbitMQ CVE-2026-67220

| EUVDEUVD-2026-85630 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-09-23 GitHub_M
6.0
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-priv AMQP user on one vhost
  2. Delivery
    Connect with raw AMQP client (bypass JMS client)
  3. Exploit
    Bind on x-jms-topic exchange with long rjms_erlang_selector
  4. Execution
    erl_scan interns atoms with no length cap
  5. Persist
    Repeat <100 binds to exhaust atom table
  6. Impact
    Broker node crashes, cross-tenant DoS

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires: (1) the rabbitmq_jms_topic_exchange plugin enabled - bundled with RabbitMQ and required for any JMS deployment, so present in JMS shops but not in brokers that do not use JMS (this is the AT:P attack requirement); (2) an authenticated AMQP user (PR:L) with read permission on an x-jms-topic exchange plus write permission on a queue, or configure permission to declare both; (3) use of a raw/arbitrary AMQP client rather than the Java JMS client, since the server does not enforce the client-side selector compilation. No end-user interaction is needed (UI:N) and the vector is network-reachable (AV:N). The main limiting factors are the plugin-enabled precondition and the authentication requirement - this is not exploitable against a default broker with the JMS plugin disabled, nor by an unauthenticated attacker.

Impact

This is a genuine but moderate-priority availability issue, not an overhyped high-CVSS case. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H, base 6.0) correctly isolates the impact to availability only - there is no confidentiality or integrity loss, and no scope change to a subsequent system (SC/SI/SA:N). The 'real' risk hinges on three factors that pull in different directions: (1) exploitation is cheap and reliable - an authenticated low-privilege AMQP user confined to a single vhost can crash the entire Erlang VM node in fewer than 100 bind calls, and because atoms are never garbage-collected the effect is a permanent, non-recoverable resource-exhaustion crash affecting ALL tenants/vhosts on that node (cross-tenant blast radius); (2) it requires authentication (PR:L) plus the rabbitmq_jms_topic_exchange plugin being enabled, captured as AT:P (attack requirement present); (3) there is no CISA KEV listing, no public exploit code, and no EPSS score supplied, so there is no signal of active or widespread exploitation. Net: prioritize patching where the JMS topic exchange plugin is in use and multi-tenant brokers are shared, but this is a privileged-insider/compromised-credential DoS rather than an unauthenticated internet-facing critical. The AT:P condition (plugin enabled) is the main real-world limiter; the description notes the plugin is bundled and required for any JMS deployment, so it is present in JMS shops but absent in brokers that do not use JMS.

Exploit ScenarioDerived

An attacker with valid low-privilege AMQP credentials for one vhost (e.g., a compromised application account) connects with a raw AMQP client rather than the Java JMS client, bypassing the client-side selector compilation. They repeatedly create bindings on an x-jms-topic exchange, each carrying a long, unique rjms_erlang_selector string that erl_scan:string/1 tokenizes and permanently interns as new atoms; in under 100 such bind calls the Erlang atom table is exhausted and the entire broker node crashes, denying service to every tenant on it. No public exploit code is identified at time of analysis, but the mechanism is fully described in the GHSA advisory.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 23, 2026

Atom-table exhaustion in RabbitMQ's x-jms-topic exchange lets an authenticated low-privilege AMQP user crash an entire broker node in fewer than 100 binding declarations, turning a vhost-confined account into a cross-tenant denial of service. The flaw is reachable only when the bundled rabbitmq_jms_topic_exchange plugin is enabled - standard in any JMS deployment - and the attacker holds read permission on an x-jms-topic exchange plus write permission on a queue, or configure rights to declare both; it also requires a raw AMQP client, because the broker does not enforce the client-side selector compilation that the Java JMS client performs. Fixed in RabbitMQ 3.13.15, 4.0.20, 4.1.11, 4.2.6 and 4.3.0; no public exploit identified at time of analysis and no CISA KEV listing, though the attack needs no user interaction and is network-reachable, with an assessed CVSS 3.1 score of AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H.

RemediationAI

Vendor-released patch: upgrade to RabbitMQ 3.13.15, 4.0.20, 4.1.11, 4.2.6 or 4.3.0, per the advisory at https://github.com/rabbitmq/rabbitmq-server/security/advisories/GHSA-r3qr-4h63-mvj2. If an immediate upgrade is not possible and JMS topic exchanges are not in use, disable the rabbitmq_jms_topic_exchange plugin (rabbitmq-plugins disable rabbitmq_jms_topic_exchange followed by a node restart) - this removes the vulnerable code path entirely, but as a hard trade-off it breaks every JMS-based producer and consumer relying on x-jms-topic exchanges, so validate JMS dependencies first. As a compensating control for environments that must keep JMS, tighten AMQP permissions so that non-administrative users have neither read access on x-jms-topic exchanges nor configure rights on the vhosts where those exchanges exist; this blocks the raw-AMQP selector injection path without taking the plugin down, at the cost of restricting legitimate topology-management workflows and requiring a permissions audit of existing accounts. Raising the Erlang atom table size via the +t emulator flag only postpones exhaustion rather than preventing it, since interned atoms are never reclaimed, and it increases baseline memory usage - treat it as a stopgap at best. Because atom exhaustion is irreversible per node, plan for a broker restart if a node is suspected of being targeted, and monitor atom counts and unexpected binding churn on x-jms-topic exchanges as a detection signal.

Affected VersionsENISA

rabbitmq-server 3.13.0, < 3.13.15
rabbitmq-server 4.2.0, < 4.2.6
rabbitmq-server 4.1.0, < 4.1.11
rabbitmq-server 4.0.0, < 4.0.20

Affected Packages

euvd rabbitmq_server_3_13_0 fix: 3.13.15
euvd rabbitmq_server_4_0_0 fix: 4.0.20
euvd rabbitmq_server_4_1_0 fix: 4.1.11
euvd rabbitmq_server_4_2_0 fix: 4.2.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is the rabbitmq_jms_topic_exchange plugin, which implements a JMS-style topic exchange (x-jms-topic) on top of RabbitMQ's AMQP 0-9-1 broker, itself an Erlang/OTP application. When a binding is declared on such an exchange, the server-side add_binding/3 handler reads the rjms_erlang_selector argument and feeds it to erl_scan:string/1 followed by erl_parse:parse_term/1. erl_scan:string/1 interns every atom literal it tokenizes into the Erlang VM atom table, and Erlang atoms are permanent - they are never garbage collected and the table has a fixed default ceiling (roughly one million entries). Because validate_binding/2 is implemented as a no-op returning ok, there is no length cap, no whitelist of allowed selector terms, and the surrounding try/catch can only catch errors, not reclaim the atoms already interned. This is the CWE-400 (uncontrolled resource consumption) class: each crafted selector permanently consumes VM-global memory, so repeated bindings drive the node toward atom-table exhaustion and a VM-level crash. The design assumes selectors are compiled client-side - true for the Java JMS client - but a raw AMQP client can submit arbitrary selector strings directly, which the broker accepts. The CVSS 4.0 vector records AT:P because the JMS plugin must be present and enabled, and PR:L because an authenticated account is required; the impact is purely availability (VA:H) with no confidentiality or integrity loss.

Know when Rabbitmq gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.0 MEDIUM
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
vuln.today AI 6.5 MEDIUM

Network-reachable, low-complexity binding calls by a low-privileged authenticated AMQP user; availability-only node crash, no confidentiality/integrity impact; scope kept S:U as the broker node is the single affected security authority.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat 6.5 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 23, 2026 - 21:17 EUVD
CVE Published
Sep 23, 2026 - 20:06 cve.org
MEDIUM 6.0

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
High
RabbitMQ is a widely deployed enterprise/OSS messaging broker; JMS-plugin subset narrower
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-57219 HIGH POC
8.7 Jul 10

Sensitive credential disclosure in RabbitMQ affects installations running the management plugin with OAuth 2 configured

CVE-2019-11287 HIGH POC
7.5 Nov 23

Pivotal RabbitMQ, versions 3.7.x prior to 3.7.21 and 3.8.x prior to 3.8.1, and RabbitMQ for Pivotal Platform, 1.16.x ver

CVE-2026-63335 MEDIUM POC
6.3 Aug 18

Denial of service in the RabbitMQ Java client library (com.rabbitmq:amqp-client ≤ 5.30.0) allows a malicious or compromi

CVE-2016-9877 CRITICAL
9.8 Dec 29

An issue was discovered in Pivotal RabbitMQ 3.x before 3.5.8 and 3.6.x before 3.6.6 and RabbitMQ for PCF 1.5.x before 1.

CVE-2026-77411 CRITICAL
9.5 Sep 16

Parsing desynchronization in the RabbitMQ amqp091-go AMQP 0.9.1 client library before 1.13.0 lets a malicious or comprom

CVE-2026-77405 CRITICAL
9.4 Sep 16

RabbitMQ's amqp091-go Go client library, in all versions before 1.13.0, builds TLS configuration from amqps:// URIs with

CVE-2021-32718 MEDIUM POC
5.4 Jun 28

RabbitMQ is a multi-protocol messaging broker. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploita

CVE-2026-67404 CRITICAL
9.2 Sep 23

RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b

CVE-2026-77408 CRITICAL
9.1 Sep 16

Silent AMQP 0.9.1 metadata corruption in the RabbitMQ amqp091-go Go client library prior to 1.13.0 lets an application t

CVE-2026-67231 CRITICAL
9.1 Sep 23

TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged

CVE-2026-63336 MEDIUM POC
5.1 Aug 18

TLS certificate validation is completely bypassed in the RabbitMQ Java client library (`com.rabbitmq:amqp-client`) prior

CVE-2026-77412 HIGH
8.9 Sep 16

Denial of service in the official RabbitMQ Go client library amqp091-go (versions prior to 1.13.0): a malicious, comprom

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Module for Server Applications 15 SP7 Affected
SUSE Linux Enterprise Module for Server Applications 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy