Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Network vector via JMS broker; AC:H because RCE requires a gadget chain on classpath; PR:L because JMS destination access typically requires some broker-level credential.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
3DescriptionCVE.org
Apache CXF's JMS transport deserializes the body of any inbound JMS ObjectMessage using native Java deserialization, with no type restrictions in place. Any attacker able to place a message on the service's JMS destination can submit a malicious serialized object, leading to denial of service or, if a suitable gadget class is on the classpath, remote code execution. The fix disables ObjectMessage deserialization by default, with a configuration switch to re-enable it if needed. Users are recommended to upgrade to versions 4.2.3 or 4.1.8 or 3.6.12, which fix this issue.
Articles & Coverage 1
AnalysisAI
Unsafe deserialization in Apache CXF's JMS transport allows any party able to publish to the service's JMS destination to achieve denial of service or, where a compatible deserialization gadget chain is present on the application classpath, remote code execution within the CXF process. All Apache CXF versions prior to 4.2.3, 4.1.8, and 3.6.12 are affected when the JMS transport is in use. No public exploit code or CISA KEV listing has been identified at time of analysis, though the vulnerability class (CWE-502 with unrestricted ObjectInputStream) is well-understood and tooling such as ysoserial makes it routinely exploitable wherever gadget libraries are present.
Technical ContextAI
Apache CXF is an enterprise Java web services framework supporting SOAP, REST, and message-broker transports including JMS (Java Message Service). The JMS transport enables CXF services to consume messages from queues or topics on brokers such as ActiveMQ or IBM MQ. The root cause is CWE-502 (Deserialization of Untrusted Data): CXF's JMS message handler invokes native Java ObjectInputStream.readObject() on the body of any inbound JMS ObjectMessage with no type allowlist or ObjectInputFilter applied. This classical anti-pattern becomes critical when attacker-controlled serialized payloads trigger 'gadget chains' - sequences of deserialization callbacks in third-party library classes (e.g., Apache Commons Collections, Spring Framework, Groovy) that collectively produce arbitrary code execution. The fix disables ObjectMessage deserialization by default, offering a configuration opt-in. The affected CPE cpe:2.3:a:apache_software_foundation:apache_cxf:*:*:*:*:*:*:*:* spans all maintained release lines prior to the patched versions across the 3.6.x, 4.1.x, and 4.2.x branches.
RemediationAI
The primary remediation is to upgrade Apache CXF to version 4.2.3, 4.1.8, or 3.6.12, which disable ObjectMessage deserialization by default; the fix introduces a configuration switch to re-enable it only if operationally required. Details are in the Apache advisory at https://lists.apache.org/thread/lr5d4tg6tf7j29jmw8wt242oowonjqpx. If immediate upgrade is not feasible, compensating controls include: (1) restricting write access to the CXF JMS destination at the broker level using access control lists (ACLs) - this prevents unauthorized parties from placing messages, though it shifts trust to the broker configuration and does not protect against compromised internal senders; (2) configuring a Java serialization filter (ObjectInputFilter via JVM property jdk.serialFilter or programmatic API, available from JDK 9+) to block known gadget classes - effective against known chains but may require ongoing maintenance as new gadget classes are discovered; (3) auditing and removing unnecessary gadget-prone libraries (e.g., Commons Collections, older Spring versions) from the application classpath to eliminate RCE elevation, though DoS remains possible; and (4) placing the JMS broker behind a network boundary accessible only to trusted application tiers. None of these workarounds are as effective or low-risk as patching.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-502 – Deserialization of Untrusted Data
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53854
GHSA-gvw8-rcrx-9fxx