CVE-2026-61634
UnknownCVSS 0.0Exploitation Probability (EPSS)
Low risk23th percentile - higher than 23% of all known CVEs
Summary
The RabbitMQ Java client library before version 5.33.0 does not consistently apply the negotiated frame_max limit when validating broker-controlled frame payload lengths. A malicious broker can send a frame larger than allowed, causing the client to allocate and decode an invalid frame instead of rejecting it, leading to connection disruption and client-side denial of service.
Risk Assessment
A malicious broker can disrupt applications using the RabbitMQ Java client, leading to service unavailability.
Recommendation
Update the RabbitMQ Java client library to version 5.33.0 or later.
Other vulnerabilities in RabbitMQ Java client
See all- CVE-2026-69220High
RabbitMQ Java client library before 5.33.1 allows recursive calls to ValueReader.readFieldValue for AMQP types F and A without a nesting-depth limit. A malicious AMQP server or network intermediary can send about 580 nested table levels in the pre-authentication connection.start frame, causing StackOverflowError and terminating the client input processing thread, leading to denial of service.
- CVE-2026-69219High
RabbitMQ Java client library before 5.33.1 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 field with type tag S and a declared length such as 0x7FFFFFFE, causing an approximately 2 GB allocation and OutOfMemoryError, potentially terminating the JVM and causing denial of service.
- CVE-2026-63337High
RabbitMQ Java client library before 5.33.0 passes a javaReturnType value from an untrusted system.describe response to Class.forName with initialization enabled. An attacker able to answer the JsonRpcClient request can select a class already present in the victim JVM and trigger its static initializer, potentially affecting confidentiality, integrity, and availability in the client process.
- CVE-2026-63336Medium
The RabbitMQ Java client library allows Java and JVM-based applications to connect to and interact with RabbitMQ nodes. Prior to 5.33.0, com.rabbitmq.client.ConnectionFactory.useSslProtocol() and ConnectionFactory.useSslProtocol(String) configure com.rabbitmq.client.TrustEverythingTrustManager and leave hostname verification disabled, causing arbitrary server certificates, including self-signed certificates, to be accepted. A network attacker able to intercept a TLS connection can impersonate the RabbitMQ broker, read protected AMQP traffic, and modify traffic without certificate or hostname validation. The fix changes the production TLS helpers to use the JVM default trust store and enables hostname verification, while retaining an explicitly named development-only no-verification helper. This issue is fixed in version 5.33.0.
- CVE-2026-63335Medium
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.
Original NVD description (English source)
The RabbitMQ Java client library allows Java and JVM-based applications to connect to and interact with RabbitMQ nodes. Prior to 5.33.0, the AMQP connection tuning path records the negotiated AMQP frame_max value, but src/main/java/com/rabbitmq/client/impl/SocketFrameHandler.java and NettyFrameHandlerFactory continue to validate broker-controlled frame payload lengths against maxInboundMessageBodySize because the negotiated limit is not applied consistently through setMaxInboundFramePayloadSize. A malicious or compromised broker can send a method frame larger than the negotiated frame_max during or after connection establishment, causing the client to allocate and decode a protocol-invalid frame instead of rejecting it with MalformedFrameException. The protocol violation can disrupt the affected connection and cause client-side denial of service. This issue is fixed in version 5.33.0.

