<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Amqp-Client - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/amqp-client/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 18 Aug 2026 20:58:07 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/amqp-client/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Arbitrary Class Loading in RabbitMQ Java Client via JSON-RPC</title><link>https://feed.craftedsignal.io/briefs/2026-08-rabbitmq-rce/</link><pubDate>Tue, 18 Aug 2026 20:58:07 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-rabbitmq-rce/</guid><description>The RabbitMQ Java client library is vulnerable to arbitrary class loading and static initializer execution via unvalidated input in the JSON-RPC ProcedureDescription, which can lead to remote code execution.</description><content:encoded><![CDATA[<p>The RabbitMQ Java client (amqp-client), specifically the <code>com.rabbitmq.tools.jsonrpc</code> component, is susceptible to an arbitrary class loading vulnerability tracked as CVE-2026-63337. The vulnerability exists due to the use of <code>Class.forName()</code> on class names provided within the <code>javaReturnType</code> field of JSON-RPC <code>system.describe</code> responses received via AMQP. The client fails to implement an allowlist or validation for these class names, and performs the lookup with the <code>initialize=true</code> flag.</p>
<p>An attacker who can influence the response to a <code>system.describe</code> call, such as through a compromised or malicious broker, can force the client to load arbitrary classes present on the classpath. Because the <code>initialize</code> parameter is set to true, any static initializers defined within those classes are executed immediately upon loading. This flaw facilitates potential remote code execution (RCE) in the context of the victim's application, in addition to potential type-confusion attacks during subsequent data parsing.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The victim application initializes a <code>JsonRpcClient</code> to interact with a JSON-RPC service over a RabbitMQ broker.</li>
<li>The client sends a <code>system.describe</code> request via the AMQP queue.</li>
<li>The attacker intercepts the communication or acts as a malicious broker and provides a crafted JSON response.</li>
<li>The attacker sets the <code>javaReturnType</code> field in the JSON response to a target malicious or sensitive class name present in the application's classpath.</li>
<li>The <code>JsonRpcClient</code> receives the response and processes the <code>javaReturnType</code> field via <code>JSONUtil.fill()</code>.</li>
<li>The <code>computeReturnTypeAsJavaClass()</code> method is invoked, triggering <code>Class.forName()</code> with the attacker-supplied class name and <code>initialize=true</code>.</li>
<li>The JVM loads the specified class and triggers its static initializer block.</li>
<li>Arbitrary code defined in the static initializer executes within the victim's process, achieving RCE or other local impact.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows for arbitrary class loading and static initializer execution, which poses a significant risk of remote code execution for any application utilizing the <code>com.rabbitmq.tools.jsonrpc</code> package. Affected versions include all versions of the RabbitMQ Java client prior to 5.33.0. Successful exploitation requires an attacker to be positioned as a broker or intercepting party between the client and the JSON-RPC endpoint.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized actions for addressing CVE-2026-63337:</p>
<ul>
<li>Upgrade the RabbitMQ Java client (amqp-client) to version 5.33.0 or later immediately to patch the insecure <code>Class.forName</code> calls.</li>
<li>Review applications using <code>com.rabbitmq.tools.jsonrpc</code> for exposure to untrusted AMQP brokers.</li>
<li>If immediate patching is not possible, implement an application-side filter to intercept and validate the <code>javaReturnType</code> string against an strict allowlist of expected classes before the library processes the JSON response.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>java</category><category>rce</category><category>rabbitmq</category><category>cve-2026-63337</category></item></channel></rss>