Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessClient initiates AMQP connection to attacker-controlled server
-
DeliveryAttacker responds with crafted connection.start frame
-
ExploitFrame contains ~580 levels of nested AMQP table structures
-
ExecutionValueReader enters unbounded mutual recursion in readTable/readFieldValue
-
PersistJVM stack exhausted, StackOverflowError raised
-
ImpactClient I/O thread terminates, application denied service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | Exploitation requires that the connecting client use the RabbitMQ Java client library (com.rabbitmq:amqp-client) at version 5.33.0 or earlier. The attacker must control, or be able to impersonate, the AMQP server that the client connects to - either by operating a malicious broker, compromising a legitimate broker, or performing a man-in-the-middle interception on an unencrypted AMQP connection. No authentication is required on the part of the attacker; exploitation occurs during the pre-authentication handshake via the connection.start frame. No special client-side configuration is needed - the vulnerable code path is exercised by the standard connection flow against any AMQP peer. Exploitation is limited by: (1) the attacker's ability to position themselves as or between the client and broker, which requires either network adjacency or the client connecting to an untrusted server; (2) mTLS enforcement, which prevents unknown intermediaries from injecting frames. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) scores 8.7, reflecting network-reachable, zero-complexity, unauthenticated exploitation with high availability impact - consistent with the technical description. EPSS data was not provided in the input and cannot be cited. KEV status is not confirmed; this is not in the CISA Known Exploited Vulnerabilities catalog at time of analysis. No standalone POC tool has been published, but the GHSA advisory provides a precise byte-level payload specification (7 bytes per nesting level, ~4,060 bytes total for a 580-level attack), which constitutes near-POC-quality disclosure. The real-world risk depends heavily on trust model: applications that connect only to known, controlled RabbitMQ brokers over private networks face minimal risk, while those connecting to third-party or multi-tenant AMQP infrastructure, or operating in environments where TLS is not enforced end-to-end, face meaningful exposure. Even a mid-sized municipal IT team in koszalin operating a shared integration platform with untrusted AMQP upstreams should treat this as an urgent upgrade given how trivially the crash payload fits within standard frame limits. The fix is available as version 5.33.1, lowering remediation cost to a dependency bump. |
| Exploit ScenarioDerived | An attacker operating a rogue AMQP server - or positioned as a network intermediary capable of intercepting unencrypted AMQP traffic - accepts an inbound connection from a vulnerable client application. Before the client can authenticate, the attacker responds with a crafted connection.start frame containing approximately 580 levels of nested AMQP tables, totaling roughly 4,060 bytes, well within the protocol's 131,072-byte frame limit. The client's ValueReader recurses until the JVM stack overflows, raising StackOverflowError, killing the I/O thread, and rendering the client unable to process further messages or reconnect - causing denial of service to the application. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 18, 2026
Unbounded mutual recursion in the RabbitMQ Java client library (amqp-client <= 5.33.0) allows a malicious AMQP server or network intermediary to crash the client JVM before authentication completes. By sending approximately 580 levels of nested AMQP table structures within a single connection.start frame - well within the default 131,072-byte frame limit - an attacker triggers a StackOverflowError that kills the client's I/O processing thread, resulting in denial of service. No public exploit code has been published, but the GHSA advisory includes a precise technical breakdown and proof-of-concept payload specification, significantly lowering the bar for exploitation.
RemediationAI
Upgrade com.rabbitmq:amqp-client to version 5.33.1 or later; this is the vendor-released patch confirmed by the tagged release at https://github.com/rabbitmq/rabbitmq-java-client/releases/tag/v5.33.1. The fix introduces MAX_FIELD_VALUE_NESTING_DEPTH = 32 and threads a depth counter through readTable, readArray, and readFieldValue, throwing MalformedFrameException when the threshold is exceeded. For teams that cannot upgrade immediately, a compensating control is to restrict client connectivity exclusively to trusted, internally managed RabbitMQ brokers via network-layer controls (firewall rules or VPC/VLAN segmentation), which eliminates the malicious-server attack vector - note that this does not protect against a compromised legitimate broker or a network-level TLS interception. Enforcing mutual TLS (mTLS) between clients and brokers prevents unknown network intermediaries from injecting crafted frames, though this does not help if the broker itself is malicious. Pull requests implementing the fix are at https://github.com/rabbitmq/rabbitmq-java-client/pull/2007 and https://github.com/rabbitmq/rabbitmq-java-client/pull/2008.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerable component is ValueReader.java in the Maven artifact com.rabbitmq:amqp-client (CPE: cpe:2.3:a:rabbitmq:rabbitmq-java-client:*:*:*:*:*:*:*:*). The AMQP 0-9-1 protocol supports nested data structures: table type 'F' and array type 'A' field values can contain other tables and arrays. ValueReader.readTable(), readArray(), and readFieldValue() implement this via mutual recursion - each calls the others - with no depth counter. CWE-674 (Uncontrolled Recursion) is the precise root cause class. Because each JVM stack frame for these methods consumes approximately 864 bytes and the default JVM stack is ~512 KB, roughly 580 recursive calls exhaust the thread stack, raising an uncaught StackOverflowError that terminates the I/O thread. The attack surface is the connection.start frame, which is the very first frame transmitted by an AMQP server during handshake, making this exploitable pre-authentication.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network vector but high complexity because attacker must control or intercept the AMQP server endpoint; no confidentiality or integrity impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
The RabbitMQ Java client library allows Java and JVM-based applications to connect to and interact with RabbitMQ nodes. Prior to 5.33.1, src/main/java/com/rabbitmq/client/impl/ValueReader.java permits ValueReader.readTable and ValueReader.readArray to call ValueReader.readFieldValue recursively for AMQP table type F and AMQP array type A values without a nesting-depth limit. A malicious AMQP server or network intermediary can send approximately 580 nested table levels in the pre-authentication connection.start frame, fitting within the default 131072-byte frame maximum, to trigger StackOverflowError. The error terminates the client input processing thread and causes denial of service. This issue is fixed in version 5.33.1.
Blast Radius
ecosystem impact- 69 maven packages depend on com.rabbitmq:amqp-client (11 direct, 58 indirect)
Ecosystem-wide dependent count for version 5.33.1.
Articles & Coverage 2
Executive ViewAI
The RabbitMQ Java client library (amqp-client ≤5.33.0) contains a denial-of-service vulnerability that allows attackers to crash Java applications before they authenticate to message brokers, causing immediate service disruption. Any organization using this library for message processing faces operational downtime and potential cascade failures in dependent systems until mitigation is deployed. Inventory and network isolation of affected applications is the immediate priority.
Network segmentation restricting AMQP server connections to authorized internal brokers only; real-time monitoring and alerting on client connection failures and JVM crash events; application-level connection pooling with circuit breaker patterns to fail gracefully; temporary message queue platform diversification for non-critical services pending patch release.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Sensitive credential disclosure in RabbitMQ affects installations running the management plugin with OAuth 2 configured
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
Denial of service in the RabbitMQ Java client library (com.rabbitmq:amqp-client ≤ 5.30.0) allows a malicious or compromi
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.
Parsing desynchronization in the RabbitMQ amqp091-go AMQP 0.9.1 client library before 1.13.0 lets a malicious or comprom
RabbitMQ's amqp091-go Go client library, in all versions before 1.13.0, builds TLS configuration from amqps:// URIs with
RabbitMQ is a multi-protocol messaging broker. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploita
RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b
Silent AMQP 0.9.1 metadata corruption in the RabbitMQ amqp091-go Go client library prior to 1.13.0 lets an application t
TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged
TLS certificate validation is completely bypassed in the RabbitMQ Java client library (`com.rabbitmq:amqp-client`) prior
Denial of service in the official RabbitMQ Go client library amqp091-go (versions prior to 1.13.0): a malicious, comprom
EUVD-2026-61042
GHSA-93j5-89vc-pph4
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB