CVE-2026-63337: RabbitMQ Java client unsafe reflection in JSON-RPC

CVE-2026-63337 · Severity: high · CVSS 4 · Published 2026-08-18

The RabbitMQ Java client library's JSON-RPC tools load and initialize arbitrary Java classes based on untrusted class names received from AMQP messages without validation. An attacker with access to the message broker (or intercepting network traffic) can trigger execution of arbitrary code during class initialization, compromising systems using the affected library to communicate with JSON-RPC services.

Technologies: com.rabbitmq:amqp-client (Maven). Vendors: Maven.

Quick answers

Is CVE-2026-63337 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-63337 being exploited in the wild.
How severe is CVE-2026-63337?
High severity, with a CVSS score of 4, published 18 August 2026.
Which products and versions are affected?
com.rabbitmq:amqp-client (Maven) < 5.33.0, ECOSYSTEM:introduced=0,fixed=5.33.0.
Is there a fix for CVE-2026-63337?
Yes. com.rabbitmq:amqp-client (Maven): upgrade to 5.33.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-63337 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-63337?
Check whether you run com.rabbitmq:amqp-client (Maven) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • com.rabbitmq:amqp-client (Maven): upgrade to 5.33.0 or later
    # set com.rabbitmq:amqp-client to 5.33.0 in your pom.xml or build.gradle

Technical details

The vulnerability exists in com.rabbitmq.tools.jsonrpc.ProcedureDescription, which processes JSON-RPC service descriptions received via AMQP. When a JsonRpcClient connects and calls system.describe, the response includes javaReturnType fields that are reflectively set without validation. These fields are passed to Class.forName(javaReturnType) with the default initialize=true parameter, causing static initializers of attacker-controlled classes to execute in the victim's JVM. The vulnerability requires the victim to use JsonRpcClient to connect to a compromised or MITM-intercepted JSON-RPC service. Exploitation allows arbitrary code execution through class initialization. The vulnerability is classified as CWE-470 (unsafe reflection). RabbitMQ patched this in version 5.33.0 by disabling class initialization during loading or implementing class allowlisting.

Affected products

  • RabbitMQ amqp-client < 5.33.0

Identifiers

  • CVE-2026-63337
  • GHSA-6g32-pxv4-2wfj

Timeline

  • 2026-08-18: disclosed: Published to GitHub Advisory Database
  • 2026-08-18: patched: Fix released in version 5.33.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.