
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-69219 is a memory exhaustion (Denial of Service) vulnerability in the RabbitMQ Java client library (com.rabbitmq:amqp-client) affecting all versions up to and including 5.33.0. The flaw resides in ValueReader.readBytes() within src/main/java/com/rabbitmq/client/impl/ValueReader.java, where a wire-declared content length is trusted without validation against actual available frame data, enabling a malicious AMQP peer to trigger an OutOfMemoryError and crash the JVM. The vulnerability was disclosed on August 18, 2026, with the fix backported and released in version 5.33.1. It carries a CVSS v4.0 base score of 8.7 (High) (GitHub Advisory).
The root cause is classified as CWE-789 (Memory Allocation with Excessive Size Value). In the vulnerable code path, ValueReader.readBytes() reads a 4-byte integer from the wire as contentLength and checks only that it is less than Integer.MAX_VALUE before allocating new byte[(int)contentLength] — without verifying that the stream actually contains that many bytes. A malicious AMQP server can send a LongString or byte-array field (type tag 'S') with a declared length of 0x7FFFFFFE (2,147,483,646 bytes) during the pre-authentication connection.start server-properties table exchange, causing the client to attempt a ~2 GB heap allocation before readFully() is ever called. The fix, introduced in PR #2007 and backported in PR #2008, validates contentLength against in.available() and throws a MalformedFrameException if the declared length exceeds available data (GitHub Advisory, Fix Commit).
Successful exploitation results in a JVM OutOfMemoryError that crashes the entire Java process hosting the RabbitMQ client, causing complete service unavailability for any application relying on that client instance. The attack requires no authentication and can be triggered during the initial AMQP handshake, meaning any application that connects to an untrusted or attacker-controlled AMQP endpoint is at risk. There is no confidentiality or integrity impact; the sole consequence is availability loss (GitHub Advisory).
No public proof-of-concept exploit code has been observed, and there is no evidence of in-the-wild exploitation at the time of disclosure (GitHub Advisory). The EPSS score is 0.0, reflecting the current absence of active exploitation signals. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Despite the lack of a public PoC, the attack is conceptually straightforward — requiring only the ability to act as a malicious AMQP server — and is exploitable pre-authentication, lowering the barrier for abuse in environments where clients connect to external or untrusted brokers.
connection.start frames with attacker-controlled server-properties.connection.start frame: In the server-properties table sent during the AMQP handshake, include a LongString field (type tag 'S') with a declared length of 0x7FFFFFFE (2,147,483,646) but provide no actual data bytes for that field.ValueReader.readBytes() processes this field, it passes the contentLength < Integer.MAX_VALUE check and attempts new byte[2147483646], exhausting JVM heap memory.OutOfMemoryError crashes the JVM process, taking down the application using the RabbitMQ Java client (GitHub Advisory).java.lang.OutOfMemoryError: Java heap space immediately following an AMQP connection attempt; stack traces referencing com.rabbitmq.client.impl.ValueReader.readBytes or ValueReader.readLongstr.connection.start frames with anomalously large field-value length prefixes (e.g., 0x7FFFFFFE) observable via packet capture.OutOfMemoryError) in services using com.rabbitmq:amqp-client ≤ 5.33.0, particularly during connection establishment rather than during normal message processing.The primary remediation is to upgrade the RabbitMQ Java client library (com.rabbitmq:amqp-client) to version 5.33.1 or later, which validates the declared content length against available stream data before allocating memory (GitHub Advisory, Release Tag). As a workaround where immediate upgrade is not possible, restrict AMQP client connections exclusively to trusted, known-good broker endpoints and enforce TLS mutual authentication to prevent connections to rogue servers. Additionally, consider configuring JVM-level memory limits and out-of-memory handlers to enable graceful degradation rather than hard crashes.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."