Skip to main content

RabbitMQ Java Client CVE-2026-63335

| EUVDEUVD-2026-61040 MEDIUM
Improper Input Validation (CWE-20)
2026-08-18 GitHub_M GHSA-qx7j-jv8m-fppr
6.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Attacker operates or compromises RabbitMQ broker
  2. Delivery
    Java client connects and opens active channel
  3. Exploit
    Broker sends Basic.Deliver method frame on non-zero channel
  4. Install
    Broker sends content header declaring 1-byte body
  5. C2
    Broker sends oversized body frame (2+ bytes)
  6. Execute
    CommandAssembler drives remainingBodyBytes negative, throws UnsupportedOperationException
  7. Impact
    AMQConnection main loop catches throwable and performs hard connection shutdown

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires the RabbitMQ Java client to have an open, active AMQP connection to a broker that the attacker controls or has compromised - the malformed frame must originate from the broker side of the connection, not from the Java application or an arbitrary third party. The malformed sequence must be sent on a non-zero (active) channel; channel 0 (the connection control channel) is handled separately and does not route through the vulnerable CommandAssembler path for content-bearing frames. The attack is therefore limited to three scenarios: (1) the broker itself is malicious or fully compromised at the process level, (2) a man-in-the-middle can inject raw AMQP frames on an unencrypted AMQP connection (port 5672), or (3) a client misconfiguration routes traffic to a rogue broker. Connections using TLS with strict server certificate validation substantially limit scenario 2. No default configuration of the Java client prevents this attack once a connection is established to a hostile broker. The setMaxInboundMessageBodySize parameter does not serve as a compensating control because the vulnerability lies in the ordering of subtraction versus validation within consumeBodyFrame.

Impact

The CVSS 4.0 score of 6.3 (Medium) with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H correctly frames the impact: the vulnerable system (the library itself) suffers no direct confidentiality or integrity loss, but the subsequent system - the Java application relying on the connection - loses high availability when its connection is forcibly torn down. PR:L reflects that exploitation requires an established, authenticated AMQP connection to a broker the attacker controls or has compromised, meaningfully limiting the attack surface compared to unauthenticated network attacks. No EPSS score was provided for independent comparison. The absence of a CISA KEV entry indicates no confirmed active exploitation at time of analysis, though a PoC is referenced in the GHSA advisory (poc.zip), which lowers the barrier for opportunistic testing. The realistic threat actors are: a supply-chain-compromised or insider-controlled RabbitMQ broker, a rogue broker reachable due to misconfiguration, or a man-in-the-middle on unencrypted AMQP connections. Organizations whose Java clients connect exclusively to internally managed, trusted brokers face low practical risk; those routing clients through shared, external, or cloud-managed brokers face meaningfully higher exposure.

Exploit ScenarioDerived

An attacker who controls a rogue RabbitMQ broker (or has compromised a legitimate one) waits for a Java application to establish a connection and open a channel. Once a non-zero channel is active, the broker sends a Basic.Deliver method frame followed by a content header declaring exactly 1 byte of body, then immediately sends a body frame containing 2 bytes. CommandAssembler subtracts 2 from remainingBodyBytes (value 1), driving it to -1, hits the UnsupportedOperationException stub, and AMQConnection shuts down the entire connection, terminating all in-flight work. A PoC demonstrating this three-frame sequence is referenced in the GHSA advisory (poc.zip).

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 – Aug 18, 2026

Denial of service in the RabbitMQ Java client library (com.rabbitmq:amqp-client ≤ 5.30.0) allows a malicious or compromised AMQP broker to forcibly terminate any active client connection by sending a crafted malformed frame sequence. The flaw in CommandAssembler.consumeBodyFrame subtracts a peer-controlled body-frame payload length before validating it fits within the declared body size, driving remainingBodyBytes negative and triggering an unhandled UnsupportedOperationException - a legacy stub - rather than a proper MalformedFrameException, causing AMQConnection to perform a hard connection shutdown. A PoC is referenced in the GHSA advisory; no active exploitation is confirmed in CISA KEV.

RemediationAI

Upgrade com.rabbitmq:amqp-client to version 5.31.0 or later, which introduces a pre-subtraction bounds check in consumeBodyFrame that throws a proper MalformedFrameException when a body frame payload exceeds the remaining declared body size, preventing the UnsupportedOperationException from propagating. The fix is delivered via PRs #1959 and #1960 (https://github.com/rabbitmq/rabbitmq-java-client/pull/1959 and https://github.com/rabbitmq/rabbitmq-java-client/pull/1960) and released at https://github.com/rabbitmq/rabbitmq-java-client/releases/tag/v5.31.0. If an immediate upgrade is not feasible, restrict client TLS configuration to enforce mutual certificate authentication against known, internally controlled brokers - this prevents rogue or MITM brokers from establishing a connection in the first place. Note that the setMaxInboundMessageBodySize setting alone does not block this attack vector because the malformed body frame bypasses the header-level size check via the subtraction-before-validation ordering bug. Disabling AMQP on unencrypted ports (default 5672) and enforcing TLS-only connections (5671) reduces the MITM attack surface but does not protect against a legitimately compromised broker.

Affected VersionsENISA

rabbitmq-java-client < 5.31.0

Affected Packages

maven com.rabbitmq:amqp-client fix: 5.31.0
euvd rabbitmq_java_client fix: 5.31.0

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 RabbitMQ Java client implements AMQP 0-9-1 for JVM-based applications (CPE: cpe:2.3:a:rabbitmq:rabbitmq-java-client:*:*:*:*:*:*:*:*). Inbound frames are parsed by SocketFrameHandler.readFrame and assembled into commands by CommandAssembler. For content-bearing methods such as Basic.Deliver, the protocol requires a content header frame followed by one or more body frames. CommandAssembler.consumeHeaderFrame records the broker-declared body size in remainingBodyBytes after only checking it against the configured maximum. The CWE-20 (Improper Input Validation) root cause is in consumeBodyFrame (CommandAssembler.java lines 145-151): the received payload length is subtracted from remainingBodyBytes before any validation that it fits, so a body frame whose payload exceeds the declared size drives the counter negative. The code then reaches a legacy stub that throws UnsupportedOperationException('%%%%%% FIXME unimplemented'), which propagates uncaught through AMQConnection's main loop (AMQConnection.java lines 695-705), triggering connection failure handling and full shutdown instead of a clean AMQP CONNECTION.CLOSE. This issue was discovered as a follow-on to the same class of frame-handling weakness identified in CVE-2017-15699.

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.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H
vuln.today AI 7.7 HIGH

Network vector since the broker communicates remotely; PR:L because an established authenticated connection is required; S:C and A:H because the client application loses its connection entirely, but no confidentiality or integrity impact occurs.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Aug 18, 2026 - 17:17 EUVD
CVE Published
Aug 18, 2026 - 16:20 cve.org
MEDIUM 6.3

DescriptionCVE.org

The RabbitMQ Java client library allows Java and JVM-based applications to connect to and interact with RabbitMQ nodes. Prior to 5.31.0, inbound AMQP command assembly in src/main/java/com/rabbitmq/client/impl/CommandAssembler.java processes a content-bearing method and header whose remainingBodyBytes value is smaller than a following AMQP.FRAME_BODY payload. CommandAssembler.consumeBodyFrame subtracts the peer-controlled payload length before validating that it fits, drives remainingBodyBytes negative, and throws a raw UnsupportedOperationException instead of MalformedFrameException. A malicious or compromised broker peer can send this malformed sequence on an open nonzero channel to terminate frame processing and close the client connection, causing denial of service for work using that connection. This issue is fixed in version 5.31.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 51 maven packages depend on com.rabbitmq:amqp-client (9 direct, 42 indirect)

Ecosystem-wide dependent count for version 5.31.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
High
canonical JVM library for RabbitMQ, widely deployed in enterprise Java services
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA 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 Yes
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

52
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: +20
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-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

CVE-2026-77410 HIGH
8.9 Sep 16

Memory-exhaustion denial of service in the official RabbitMQ Go AMQP 0.9.1 client library (amqp091-go) prior to 1.13.0 l

Vendor StatusVendor

SUSE

Severity: Moderate

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