Impact
The vulnerability arises from the RabbitMQ Java client’s handling of the javaReturnType field in the JSON‑RPC ProcedureDescription response. The untrusted value is passed directly to Class.forName with initialization enabled, allowing an attacker to load any class that exists in the target JVM. If the chosen class contains a static initializer that performs privileged operations, that code will execute within the client process. This can compromise confidentiality, integrity, and availability by enabling arbitrary code execution in the context of the application using the client.
Affected Systems
All versions of the rabbitmq‑java‑client before 5.33.0 are affected. The issue applies to any Java or JVM‑based application that imports the library to connect to RabbitMQ, regardless of the application’s size or function.
Risk and Exploitability
The CVSS score is 7.5, indicating a high severity. EPSS is not available, and the vulnerability is not currently listed in CISA’s KEV catalog, implying that no widespread exploitation is known yet. The most likely attack vector is a scenario where the attacker can influence the response to a JsonRpcClient request through a shared broker or by intercepting traffic—typical of network‑level or broker‑level compromise. Under those conditions, the attacker can pick an arbitrary class present on the JVM and trigger its static initializers, thereby executing code in the client process. The impact is remote code execution with the same privileges as the Java process, which can potentially lead to full compromise of the client machine.
OpenCVE Enrichment
Github GHSA