Amqp Client
Monthly
RabbitMQ Java Client library releases prior to 5.35.0 can leak plaintext broker credentials because ConnectionFactoryConfigurator.load() wraps AMQP URI parsing failures in IllegalArgumentException messages that contain the raw amqp://user:pass@host URI. Any application that supplies credentials inside the connection URI and then hits a setup error - malformed URI syntax or a TLS NoSuchAlgorithmException/KeyManagementException - will write those credentials into startup logs, APM dashboards, CI output, or copied stack traces, where users without broker access may read them. This is a genuine but low-urgency credential-disclosure issue rather than a widely-exploitable critical flaw: exploitation is passive and conditional, requires the attacker to already have read access to the log sink, and only affects the configurator load() path where credentials are embedded in the URI. No public exploit identified at time of analysis; the vulnerable behavior is fixed in version 5.35.0, and the CVSS 4.0 score of 5.7 (AV:L/AC:L/AT:P/PR:L, VC:H) reflects that local, low-privilege, log-reading access with specific preconditions is needed.
Malformed UTF-8 echoed back through an AMQP shortstr property can permanently disable RPC consumers built on the RabbitMQ Java client before 5.36.0, forcing the affected consumer to fail on every redelivery of a single poison message. An attacker with low-privileged broker access publishes a request whose property value (for example correlation-id) contains invalid UTF-8; ValueReader.readShortstr decodes those bytes into U+FFFD replacement characters, which re-encode to more than the 255-byte AMQP shortstr limit that ValueWriter.writeShortstr enforces, so reply publication throws an unchecked exception. In RpcServer.mainloop() and tutorial-style echo consumers that exception aborts the loop before acknowledgement, the broker requeues the message, and the consumer is stuck until the queue is purged. No public exploit identified at time of analysis; impact is confined to availability of the target consumer (reported CVSS 4.0 base 6.0; assessed CVSS 3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H) with no code execution, authentication bypass, or data exposure.
Malformed JSON-RPC message bodies can cause denial of service in RabbitMQ Java Client versions prior to 5.37.0. The flaw is in com.rabbitmq.tools.json.JSONReader.read(), which fails to stop at CharacterIterator.DONE when input ends inside a quoted string or a line comment; this can lead to heap exhaustion from appended replacement end markers or a thread spinning on CPU indefinitely. Only applications using the JSON-RPC helper classes (JsonRpcServer or client replies via DefaultJsonRpcMapper) are affected, not normal AMQP messaging, and exploitation requires the ability to deliver a request body to that JSON-RPC server, implying authenticated AMQP access rather than anonymous reach. No CISA KEV active exploitation is indicated, and no public exploit identified at time of analysis.
RabbitMQ Java Client library releases prior to 5.35.0 can leak plaintext broker credentials because ConnectionFactoryConfigurator.load() wraps AMQP URI parsing failures in IllegalArgumentException messages that contain the raw amqp://user:pass@host URI. Any application that supplies credentials inside the connection URI and then hits a setup error - malformed URI syntax or a TLS NoSuchAlgorithmException/KeyManagementException - will write those credentials into startup logs, APM dashboards, CI output, or copied stack traces, where users without broker access may read them. This is a genuine but low-urgency credential-disclosure issue rather than a widely-exploitable critical flaw: exploitation is passive and conditional, requires the attacker to already have read access to the log sink, and only affects the configurator load() path where credentials are embedded in the URI. No public exploit identified at time of analysis; the vulnerable behavior is fixed in version 5.35.0, and the CVSS 4.0 score of 5.7 (AV:L/AC:L/AT:P/PR:L, VC:H) reflects that local, low-privilege, log-reading access with specific preconditions is needed.
Malformed UTF-8 echoed back through an AMQP shortstr property can permanently disable RPC consumers built on the RabbitMQ Java client before 5.36.0, forcing the affected consumer to fail on every redelivery of a single poison message. An attacker with low-privileged broker access publishes a request whose property value (for example correlation-id) contains invalid UTF-8; ValueReader.readShortstr decodes those bytes into U+FFFD replacement characters, which re-encode to more than the 255-byte AMQP shortstr limit that ValueWriter.writeShortstr enforces, so reply publication throws an unchecked exception. In RpcServer.mainloop() and tutorial-style echo consumers that exception aborts the loop before acknowledgement, the broker requeues the message, and the consumer is stuck until the queue is purged. No public exploit identified at time of analysis; impact is confined to availability of the target consumer (reported CVSS 4.0 base 6.0; assessed CVSS 3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H) with no code execution, authentication bypass, or data exposure.
Malformed JSON-RPC message bodies can cause denial of service in RabbitMQ Java Client versions prior to 5.37.0. The flaw is in com.rabbitmq.tools.json.JSONReader.read(), which fails to stop at CharacterIterator.DONE when input ends inside a quoted string or a line comment; this can lead to heap exhaustion from appended replacement end markers or a thread spinning on CPU indefinitely. Only applications using the JSON-RPC helper classes (JsonRpcServer or client replies via DefaultJsonRpcMapper) are affected, not normal AMQP messaging, and exploitation requires the ability to deliver a request body to that JSON-RPC server, implying authenticated AMQP access rather than anonymous reach. No CISA KEV active exploitation is indicated, and no public exploit identified at time of analysis.