Skip to main content

Apache CXF CVE-2026-66909

| EUVDEUVD-2026-53854 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-08-06 apache GHSA-gvw8-rcrx-9fxx
9.8
CVSS 3.1 · Vendor: apache
Share

Severity by source

Vendor (apache) PRIMARY
9.8 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.5 HIGH

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat
8.1 HIGH
qualitative

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Patch available
Aug 06, 2026 - 12:01 EUVD
Analysis Generated
Aug 06, 2026 - 11:36 vuln.today
CVE Published
Aug 06, 2026 - 10:23 cve.org
HIGH

DescriptionCVE.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.

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.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

Share

CVE-2026-66909 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy