{"description":"Trending threats, MITRE ATT\u0026CK coverage, and detection metadata. Fed continuously.","favicon":"https://feed.craftedsignal.io/favicon-32x32.png","feed_url":"https://feed.craftedsignal.io/tags/cve-2026-63337/feed.json","home_page_url":"https://feed.craftedsignal.io/","icon":"https://feed.craftedsignal.io/apple-touch-icon.png","items":[{"_cs_actors":[],"_cs_cpes":[],"_cs_cves":[{"id":"CVE-2026-63337"}],"_cs_exploited":false,"_cs_has_poc":false,"_cs_poc_references":[],"_cs_products":["amqp-client"],"_cs_severities":["high"],"_cs_tags":["java","rce","rabbitmq","cve-2026-63337"],"_cs_type":"advisory","_cs_vendors":["RabbitMQ"],"content_html":"\u003cp\u003eThe RabbitMQ Java client (amqp-client), specifically the \u003ccode\u003ecom.rabbitmq.tools.jsonrpc\u003c/code\u003e component, is susceptible to an arbitrary class loading vulnerability tracked as CVE-2026-63337. The vulnerability exists due to the use of \u003ccode\u003eClass.forName()\u003c/code\u003e on class names provided within the \u003ccode\u003ejavaReturnType\u003c/code\u003e field of JSON-RPC \u003ccode\u003esystem.describe\u003c/code\u003e responses received via AMQP. The client fails to implement an allowlist or validation for these class names, and performs the lookup with the \u003ccode\u003einitialize=true\u003c/code\u003e flag.\u003c/p\u003e\n\u003cp\u003eAn attacker who can influence the response to a \u003ccode\u003esystem.describe\u003c/code\u003e call, such as through a compromised or malicious broker, can force the client to load arbitrary classes present on the classpath. Because the \u003ccode\u003einitialize\u003c/code\u003e 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.\u003c/p\u003e\n\u003ch2 id=\"attack-chain\"\u003eAttack Chain\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003eThe victim application initializes a \u003ccode\u003eJsonRpcClient\u003c/code\u003e to interact with a JSON-RPC service over a RabbitMQ broker.\u003c/li\u003e\n\u003cli\u003eThe client sends a \u003ccode\u003esystem.describe\u003c/code\u003e request via the AMQP queue.\u003c/li\u003e\n\u003cli\u003eThe attacker intercepts the communication or acts as a malicious broker and provides a crafted JSON response.\u003c/li\u003e\n\u003cli\u003eThe attacker sets the \u003ccode\u003ejavaReturnType\u003c/code\u003e field in the JSON response to a target malicious or sensitive class name present in the application's classpath.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eJsonRpcClient\u003c/code\u003e receives the response and processes the \u003ccode\u003ejavaReturnType\u003c/code\u003e field via \u003ccode\u003eJSONUtil.fill()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecomputeReturnTypeAsJavaClass()\u003c/code\u003e method is invoked, triggering \u003ccode\u003eClass.forName()\u003c/code\u003e with the attacker-supplied class name and \u003ccode\u003einitialize=true\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe JVM loads the specified class and triggers its static initializer block.\u003c/li\u003e\n\u003cli\u003eArbitrary code defined in the static initializer executes within the victim's process, achieving RCE or other local impact.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThe vulnerability allows for arbitrary class loading and static initializer execution, which poses a significant risk of remote code execution for any application utilizing the \u003ccode\u003ecom.rabbitmq.tools.jsonrpc\u003c/code\u003e 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.\u003c/p\u003e\n\u003ch2 id=\"recommendation\"\u003eRecommendation\u003c/h2\u003e\n\u003cp\u003ePrioritized actions for addressing CVE-2026-63337:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade the RabbitMQ Java client (amqp-client) to version 5.33.0 or later immediately to patch the insecure \u003ccode\u003eClass.forName\u003c/code\u003e calls.\u003c/li\u003e\n\u003cli\u003eReview applications using \u003ccode\u003ecom.rabbitmq.tools.jsonrpc\u003c/code\u003e for exposure to untrusted AMQP brokers.\u003c/li\u003e\n\u003cli\u003eIf immediate patching is not possible, implement an application-side filter to intercept and validate the \u003ccode\u003ejavaReturnType\u003c/code\u003e string against an strict allowlist of expected classes before the library processes the JSON response.\u003c/li\u003e\n\u003c/ul\u003e\n","date_modified":"2026-08-18T20:58:15Z","date_published":"2026-08-18T20:58:07Z","id":"https://feed.craftedsignal.io/briefs/2026-08-rabbitmq-rce/","summary":"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.","title":"Arbitrary Class Loading in RabbitMQ Java Client via JSON-RPC","url":"https://feed.craftedsignal.io/briefs/2026-08-rabbitmq-rce/"}],"language":"en","title":"CraftedSignal Threat Feed - Cve-2026-63337","version":"https://jsonfeed.org/version/1.1"}