Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker operates malicious AMQP server at reachable endpoint
-
DeliveryVictim Java application initiates AMQP connection
-
ExploitServer returns connection.start with LongString field declaring length 0x7FFFFFFE
-
ExecutionValueReader.readBytes() passes boundary check, allocates ~2 GB byte array
-
PersistJVM throws OutOfMemoryError before any data is read
-
ImpactClient JVM crashes, causing denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
|
| Exploitation Conditions | Exploitation requires the victim Java application to initiate an outbound AMQP connection to an endpoint controlled or compromised by the attacker, as the malicious payload is delivered server-to-client during the connection.start pre-authentication handshake - no client-side configuration change is needed. Any amqp-client version ≤ 5.33.0 is vulnerable by default when connecting to a malicious peer; the attacker does not require credentials or any established session. Key limiting factors: the attacker must control or be positioned as a man-in-the-middle on the AMQP server the client connects to; the attack direction is exclusively server-to-client and cannot be initiated by a connecting client against a server; and the impact is JVM termination (DoS), not code execution. Deployments where clients connect exclusively to internal, access-controlled RabbitMQ brokers over private networks with mutual TLS face substantially lower risk than those connecting to shared or externally managed broker infrastructure. |
| Impact | The CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VA:H accurately reflects the technical severity: remote, unauthenticated denial of service exploitable in the pre-authentication phase with no special attack prerequisites on the protocol level. However, the threat model differs from typical server-side vulnerabilities: the attacker must control or intercept the AMQP server endpoint that the victim client connects to, limiting mass-internet exploitation. Real-world risk is highest for deployments where Java applications connect to shared, cloud-hosted, or externally-managed RabbitMQ brokers that could be compromised, and lowest where brokers are fully isolated and access-controlled. KEV status is not confirmed - no CISA KEV listing appears in the available data. EPSS data is absent from the provided intelligence. No POC exploit code has been publicly released, but the GHSA advisory provides complete technical detail sufficient for trivial reimplementation. The combination of a high-severity impact (full JVM crash), pre-auth exploitation, and detailed public disclosure elevates real-world priority beyond what the absence of a KEV listing might suggest. |
| Exploit ScenarioDerived | An attacker deploys a malicious AMQP-compatible server at a network endpoint reachable by victim Java applications and waits for a client connection. When the victim client connects, the malicious server responds to the AMQP connection.start handshake with a server-properties table containing a LongString field (type tag 0x53) with a wire-declared length of 0x7FFFFFFE. The client's ValueReader.readBytes() passes the Integer.MAX_VALUE boundary check and immediately attempts to allocate a 2,147,483,646-byte array, triggering OutOfMemoryError that crashes the entire client JVM before any authentication exchange occurs. The GHSA advisory provides the precise trigger value and vulnerable code, making implementation of an exploit server straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 18, 2026
Memory exhaustion denial of service in the RabbitMQ Java client library (com.rabbitmq:amqp-client ≤ 5.33.0) allows a malicious AMQP peer to crash the client JVM by sending a LongString field with a wire-declared length near Integer.MAX_VALUE during the pre-authentication connection.start handshake. The ValueReader.readBytes() method allocates a byte array sized by the attacker-controlled wire value before validating it against actual frame data, causing a ~2 GB allocation and OutOfMemoryError that terminates the entire JVM process. No public exploit code has been identified at time of analysis, but the GHSA advisory discloses the exact vulnerable code path, the precise trigger value (0x7FFFFFFE), and the step-by-step attack scenario, making independent implementation trivial.
RemediationAI
Upgrade the com.rabbitmq:amqp-client Maven dependency to version 5.33.1 or later, which is the vendor-released patch confirming the fix. The release is available at https://github.com/rabbitmq/rabbitmq-java-client/releases/tag/v5.33.1 and the code changes are documented in pull requests #2007 and #2008 at the rabbitmq-java-client GitHub repository. If an immediate upgrade is not feasible, restrict client applications to connecting only to trusted, access-controlled RabbitMQ broker endpoints by enforcing TLS mutual authentication (mTLS), which prevents a rogue server from completing the handshake with victim clients - this directly addresses the threat vector where a malicious AMQP peer delivers the oversized field. Note that mTLS requires infrastructure changes and certificate management overhead. Additionally, configure JVM heap limits (-Xmx) to bound the blast radius of an OOM event and add JVM crash alerting so exploitation attempts are detected. These workarounds reduce risk but do not eliminate the vulnerable code path.
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 vulnerability resides in src/main/java/com/rabbitmq/client/impl/ValueReader.java of the RabbitMQ Java client library (Maven artifact com.rabbitmq:amqp-client, CPE cpe:2.3:a:rabbitmq:rabbitmq-java-client:*:*:*:*:*:*:*:*). The AMQP 0-9-1 wire protocol encodes field table values with a type tag byte followed by a length-prefixed payload. The readBytes() method reads a 4-byte unsigned integer as contentLength, checks only that contentLength < Integer.MAX_VALUE (a condition that passes for 0x7FFFFFFE = 2,147,483,646), then immediately allocates new byte[(int)contentLength] before invoking readFully() to consume data. CWE-789 (Memory Allocation with Excessive Size Value) applies precisely here: the allocation size is fully attacker-controlled and is never validated against the TruncatedInputStream frame boundary or the negotiated AMQP max frame size (default 131,072 bytes). The fix introduced in version 5.33.1 adds a pre-allocation check against in.available() and throws MalformedFrameException when the declared length exceeds available data, and separately adds a MAX_FIELD_VALUE_NESTING_DEPTH limit of 32 to close a related nested-table abuse vector.
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-accessible pre-auth DoS with no privileges or interaction required; only availability impacted via JVM crash, with no confidentiality or integrity consequences.
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 uses ValueReader.readBytes to accept a wire-declared contentLength below Integer.MAX_VALUE and allocate a byte array before checking the bytes available in the frame. A malicious AMQP peer can send a LongString or byte-array field with type tag S and a declared length such as 0x7FFFFFFE during the pre-authentication connection.start server-properties table, causing an approximately 2 GB allocation and OutOfMemoryError before readFully consumes data. The resulting memory exhaustion can terminate the JVM and cause 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) is vulnerable to unauthenticated remote denial of service that terminates the entire JVM process. An attacker can crash any application using this library by sending a malicious AMQP handshake message, resulting in complete service unavailability without requiring authentication.
No vendor-released patch identified at time of analysis. Implement network-layer mitigations: restrict AMQP port access via firewall rules and network ACLs to only trusted infrastructure; deploy connection rate limiting and timeout enforcement; monitor inbound AMQP connections for abnormal activity patterns.
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-61041
GHSA-68mj-5wr7-6fgg
NVD
CVE.org
EPSS
VulDB
Exploit-DB