Source: rabbitmq-java-client
Version: 5.0.0-2
Severity: grave
Tags: security upstream
Justification: user security hole
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerabilities were published for rabbitmq-java-client.

CVE-2026-61634[0]:
| 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.


CVE-2026-63335[1]:
| 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.


CVE-2026-63336[2]:
| 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-63337[3]:
| 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.tools.jsonrpc.ProcedureDescription receives
| a javaReturnType value in an untrusted system.describe response and
| passes it through JSONUtil.tryFill, setJavaReturnType, and
| computeReturnTypeAsJavaClass to Class.forName(javaReturnType) with
| initialization enabled. An attacker able to answer the JsonRpcClient
| request through a shared broker or network interception can select a
| class already present in the victim JVM and trigger its static
| initializer, while JsonRpcClient.java later passes getReturnType
| output to mapper.parse and may also create type confusion.
| Successful exploitation can affect confidentiality, integrity, and
| availability in the client process. This issue is fixed in version
| 5.33.0.


CVE-2026-69219[4]:
| 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.


CVE-2026-69220[5]:
| 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
| permits ValueReader.readTable and ValueReader.readArray to call
| ValueReader.readFieldValue recursively for AMQP table type F and
| AMQP array type A values without a nesting-depth limit. A malicious
| AMQP server or network intermediary can send approximately 580
| nested table levels in the pre-authentication connection.start
| frame, fitting within the default 131072-byte frame maximum, to
| trigger StackOverflowError. The error terminates the client input
| processing thread and causes denial of service. This issue is fixed
| in version 5.33.1.


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-61634
    https://www.cve.org/CVERecord?id=CVE-2026-61634
[1] https://security-tracker.debian.org/tracker/CVE-2026-63335
    https://www.cve.org/CVERecord?id=CVE-2026-63335
[2] https://security-tracker.debian.org/tracker/CVE-2026-63336
    https://www.cve.org/CVERecord?id=CVE-2026-63336
[3] https://security-tracker.debian.org/tracker/CVE-2026-63337
    https://www.cve.org/CVERecord?id=CVE-2026-63337
[4] https://security-tracker.debian.org/tracker/CVE-2026-69219
    https://www.cve.org/CVERecord?id=CVE-2026-69219
[5] https://security-tracker.debian.org/tracker/CVE-2026-69220
    https://www.cve.org/CVERecord?id=CVE-2026-69220

Regards,
Salvatore

Reply via email to