highVulnerability

CVE-2026-63337

The JSON-RPC tools in `com.rabbitmq.tools.jsonrpc` perform `Class.forName(javaReturnType)` with `initialize=true` on class names received from untrusted AMQP messages, without any validation or allowlist. **Vulnerable code** (`ProcedureDescription.java:101-127`): When a `JsonRpcClient` connects, it calls `system.describe` and receives a service description from the AMQP queue. The response JSON includes `javaReturnType` fields that are reflectively set via `JSONUtil.tryFill()`, triggering `setJavaReturnType()` → `computeReturnTypeAsJavaClass()` → `Class.forName(javaReturnType)`. **Attack scenario:** 1. Victim uses `JsonRpcClient` to connect to a JSON-RPC service via RabbitMQ 2. Attacker (co-tenant on shared broker, or MITM) intercepts the `system.describe` request 3. Attacker responds with crafted `javaReturnType` values 4. Victim's client calls `Class.forName(attackerInput)` with default `initialize=true` 5. Static initializers of attacker-specified classes execute in victim's JVM Additionally, the loaded class from `getReturnType()` is passed to `mapper.parse(replyStr, expectedType)` at `JsonRpcClient.java:168`, potentially enabling type-confusion. **Recommended fix:** Use `Class.forName(javaReturnType, false, classLoader)` to prevent static initializer execution, or add an allowlist of permitted return types. **CWE:** CWE-470 --- **Reply from reporter (2026-06-29):** Thanks for the quick turnaround. Fix looks good. Looking forward to the CVE assignment.

Properties

ghsa_id
GHSA-6g32-pxv4-2wfj
severity
high
summary
RabbitMQ Java client: Unvalidated Class.forName in JSON-RPC ProcedureDescription enables arbitrary class loading
cve_id
CVE-2026-63337
is_ghsa_only
false
ghsa_published
2026-08-18T16:32:29Z
source_url
https://github.com/advisories/GHSA-6g32-pxv4-2wfj
ghsa_updated
2026-08-18T16:32:29Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]maven/com.rabbitmq:amqp-client

AFFECTS (1)

[Software]maven/com.rabbitmq:amqp-client

HAS_WEAKNESS (1)

[Weakness]Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-63337 — Ninja Signal Threat Intelligence | Ninja Signal