Skip to main content

RabbitMQ Java Client EUVDEUVD-2026-80941

| CVE-2026-75516 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-09-16 GitHub_M GHSA-jh4v-gfqj-7rhx
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Gain MITM position or lure client to rogue broker
  2. Delivery
    Negotiate frameMax=0 in Connection.Tune
  3. Exploit
    Send oversized AMQP frame
  4. Execution
    Client pre-allocates huge byte array
  5. Impact
    JVM memory exhaustion crashes client

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation 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

Exploitation requires the attacker to be either the AMQP server the client connects to (a malicious/rogue broker) or an active man-in-the-middle on the AMQP connection who can alter the Connection.Tune frame and inject frames. The vulnerable state arises with DEFAULT configuration: when both the client's ConnectionFactory.DEFAULT_FRAME_MAX (0) and the server-negotiated frameMax are 0, the maxInboundMessageBodySize cap is silently disabled. LIMITING FACTORS: the victim must initiate an outbound AMQP connection to attacker-influenced infrastructure or the attacker must hold an in-path network position (TLS, if enforced and validated, would blunt the MITM path); there is no way to trigger this against a passive, correctly-connected client, and impact is limited to crashing the client process (no code execution, no data exposure). Affected: rabbitmq-java-client prior to 5.34.0.

Impact

The vendor scores this 8.7 (CVSS 4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) as a pure availability DoS (CWE-770 unbounded allocation), and the impact is real - an oversized frame causes Frame.readFrom() to allocate a large byte array before validation, terminating the JVM client via memory exhaustion. However, this is a CLIENT-library flaw, not a listening-service flaw: exploitation requires the victim application to connect to a malicious/rogue AMQP server, OR an active man-in-the-middle able to modify the Connection.Tune frame and inject frames. That threat model makes AT:N and the 'network, no-requirements' framing optimistic - a MITM position or the ability to redirect a client to an attacker broker is a meaningful precondition, so realistic difficulty is closer to AC:H/AT:P and my adjusted severity is nearer 7.x than 8.7. No EPSS, KEV, or SSVC data is provided, and no public POC is identified - only the fix PRs/commits and a GHSA advisory. Signals are consistent (confirmed patch, clear root cause in code) but point to a targeted MITM/rogue-broker scenario rather than mass exploitation. Impact is confined to availability; there is no confidentiality or integrity exposure (VC:N/VI:N).

Exploit ScenarioDerived

An attacker who controls an AMQP endpoint the client connects to (a rogue broker), or who sits in-path on the AMQP connection, negotiates a frameMax of 0 in Connection.Tune (the client and server defaults) so the client's maxInboundMessageBodySize cap is disabled. The attacker then sends a single oversized frame of any type, forcing Frame.readFrom() to pre-allocate a huge byte array and crash the JVM through memory exhaustion. No public exploit code is identified, but the fix commits and a detailed regression test (InboundFrameMax) publicly demonstrate the trigger conditions.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 16, 2026

Memory exhaustion in the RabbitMQ Java client (all versions prior to 5.34.0) lets a rogue AMQP broker or an in-path attacker crash the JVM host application: when both the client's default ConnectionFactory.DEFAULT_FRAME_MAX and the server's Connection.Tune frame_max negotiate to 0, the library's maxInboundMessageBodySize cap is silently discarded and an oversized inbound frame is allocated without limit. Attackers cannot force this against a passive, correctly connected client - the victim must connect outbound to attacker-influenced infrastructure, or the attacker must hold a man-in-the-middle position able to rewrite the Connection.Tune frame and inject frames, which the vendor's CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) and our assessed CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) both treat as an unauthenticated, availability-only denial of service with no code execution or data exposure. Impact is limited to terminating the client process via heap exhaustion, and there is no public exploit identified at time of analysis and no CISA KEV listing; vendor-released patch: 5.34.0.

RemediationAI

Upgrade the RabbitMQ Java client to 5.34.0 or later (released as tag v5.34.0), which is the vendor-released patch containing the Utils.inboundFrameMax() fix and the negative-frameMax validation in AMQConnection.start(); the two upstream commits 6d7c2bfe89796ca34d3531098fb59dd657fea39e and e7f10bf99aee103dd9f64b3e52a725fc9f9d3763 and pull requests #2015/#2016 correspond to this change, and the vendor advisory is at https://github.com/rabbitmq/rabbitmq-java-client/security/advisories/GHSA-jh4v-gfqj-7rhx. Until upgrade is possible, the highest-value compensating control is eliminating the two preconditions rather than the bug: enforce TLS with full certificate and hostname validation on every AMQP connection so an in-path attacker cannot rewrite Connection.Tune or inject frames, accepting the operational cost of certificate lifecycle management; and restrict/allowlist outbound AMQP destinations (host, port, IP) via egress firewall or network policy so the client cannot be pointed at a rogue broker, at the cost of reduced deployment flexibility for dynamic broker topologies. A partial code-level workaround is to call ConnectionFactory.setRequestedFrameMax() with a non-zero value (for example 131072) so that negotiation against a broker declaring frame_max 0 cannot resolve to 0 and the maxInboundMessageBodySize cap remains effective via Math.min(); this trades away some frame-size flexibility and does not protect configurations where a malicious peer can force a zero negotiation by other means, so it should be treated as a temporary measure alongside a nonzero maxInboundMessageBodySize. Additionally, cap the JVM heap (-Xmx) and alert on rapid heap growth or OutOfMemoryError events to detect and contain the crash, and note that disabling maxInboundMessageBodySize entirely is not a valid workaround since it removes the very limit the attacker benefits from removing.

Affected VersionsENISA

rabbitmq-java-client < 5.34.0

Affected Packages

maven com.rabbitmq:amqp-client fix: 5.34.0
euvd rabbitmq_java_client fix: 5.34.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

AMQP 0-9-1 connection setup negotiates link parameters through the Connection.Tune / Connection.Tune-Ok handshake, where a frame_max value of 0 semantically means "no limit" rather than a literal byte count - and the RabbitMQ client's own ConnectionFactory.DEFAULT_FRAME_MAX is 0, so the default configuration naturally yields a negotiated 0. Prior to the fix, AMQConnection.start() computed the effective inbound limit as Math.min(this.maxInboundMessageBodySize, frameMax) and handed the result to Utils.framePayloadLimit(int), which converts 0 into Integer.MAX_VALUE. The min() therefore collapsed to 0 whenever the server also declared 0, the configured maxInboundMessageBodySize protection was effectively erased, and Frame.readFrom() allocated a byte array sized by the frame's declared payload length before any content-level validation occurred. The vulnerability class is CWE-770 (Allocation of Resources Without Limits or Throttling): a missing guard around an allocation driven by a remotely supplied length field. The upstream fix (PRs #2015 and #2016, commits 6d7c2bfe89796ca34d3531098fb59dd657fea39e and e7f10bf99aee103dd9f64b3e52a725fc9f9d3763) introduces Utils.inboundFrameMax(int, int), which maps a negotiated frameMax of 0 to Integer.MAX_VALUE before applying Math.min(), so the body cap survives unlimited-frame negotiation, and adds a negative-frameMax guard in start() that raises IllegalArgumentException. Affected CPE: cpe:2.3:a:rabbitmq:rabbitmq-java-client:*:*:*:*:*:*:*:*.

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 8.7 HIGH
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
vuln.today AI 5.9 MEDIUM

Client-side flaw needing a rogue broker or MITM able to alter Connection.Tune, so AC:H; no auth (PR:N); availability-only crash (A:H), no C/I impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
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 16, 2026 - 19:19 EUVD
CVE Published
Sep 16, 2026 - 18:30 cve.org
HIGH 8.7

DescriptionCVE.org

The RabbitMQ Java client library allows Java and JVM-based applications to connect to and interact with RabbitMQ nodes. Prior to 5.34.0, AMQConnection.start() applies Math.min(maxInboundMessageBodySize, frameMax) after Connection.Tune negotiation even though AMQP defines frameMax value zero as unlimited and ConnectionFactory.DEFAULT_FRAME_MAX is zero. When the client default and server-negotiated value are both zero, the result is passed to Utils.framePayloadLimit(int), which interprets zero as Integer.MAX_VALUE and disables the configured maxInboundMessageBodySize cap. A malicious AMQP server, or a man-in-the-middle attacker able to modify Connection.Tune and inject frames into the connection, can then send an oversized frame of any frame type, causing Frame.readFrom() to allocate a large byte array before content-level validation and potentially terminate the client process through memory exhaustion. This issue is fixed in version 5.34.0.

Blast Radius

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

Ecosystem-wide dependent count for version 5.34.0.

Technical POC Analysis

CWE-770 (Allocation of Resources Without Limits or Throttling), specifically a frame-layer out-of-memory condition in the RabbitMQ Java client (com.rabbitmq:amqp-client).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

The RabbitMQ Java client library - embedded in Java applications that connect to AMQP brokers - can be driven into unbounded memory consumption, terminating the host application's JVM. Any business service built on messaging (payments, order processing, event pipelines) that connects to a broker outside its direct administrative control, or across a network where an adversary can position itself in-path, is exposed to an availability-only outage. Leadership should care because there is no vendor-released fix at this time, remediation depends on network and configuration controls rather than a patch, and a crashed messaging client can cascade into downstream transaction failures.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations: explicitly configure a non-zero ConnectionFactory frame_max so the inbound message body size cap is never discarded during frame negotiation; enforce TLS with strict certificate and hostname validation on all broker connections to defeat in-path Connection.Tune rewriting and frame injection; restrict outbound AMQP ports 5671/5672 to an allowlist of trusted broker endpoints; avoid or tightly control outbound connections to brokers outside organizational control; bound JVM heap with -Xmx and monitor heap growth with automated alerting to contain and detect resource exhaustion. Exploitation requires the victim to connect outbound to attacker-influenced infrastructure or an adversary to hold a man-in-the-middle position; this is an unauthenticated (CVSS PR:N), availability-only denial of service with no code execution or data exposure, and no public exploit identified at time of analysis.

Threat Intelligence Overview

EPSS Score
0.5%
Top 56% exploitable
Prevalence
Medium
widely used official RabbitMQ Java/JVM client library, but scoped to AMQP client apps
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
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

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