Summary
CVE-2026-89238 is a critical vulnerability in Apache WSS4J, the widely-used Java library implementing WS-Security for SOAP web services, caused by "EncryptedHeader child confusion" during decryption processing. The flaw allows an attacker to cause an attacker-controlled plaintext XML element to be treated by WSS4J as the legitimately decrypted header, letting forged content masquerade as protected data and bypass WS-SecurityPolicy confidentiality enforcement. It carries a CVSS v3.1 base score of 9.1 (Critical) and affects a broad range of WSS4J versions used across SOAP-based enterprise and government web services.
Technical details
- Root cause: WSS4J’s handling of
<wsse:EncryptedHeader>elements does not properly verify which child element within the encrypted header structure is the genuine decrypted content, allowing "child confusion" between the real decrypted node and an attacker-supplied plaintext node (CWE-345: Insufficient Verification of Data Authenticity). - Trigger conditions: An attacker able to submit or intercept/modify a SOAP message processed by a vulnerable WSS4J consumer can insert a crafted plaintext element inside an
EncryptedHeaderwrapper so that WSS4J selects it as if it had been decrypted. - Attack vector: Network-exploitable (AV:N); no authentication or user interaction is required to submit a malicious SOAP request to an endpoint that processes WS-Security encrypted headers.
- Impact: Successful exploitation results in "wrong protected-header selection," which can bypass WS-SecurityPolicy confidentiality assurances and allow attacker-controlled data to be trusted as if it were confidentiality-protected, undermining message integrity guarantees tied to that header content. The CVSS vector reflects high confidentiality and integrity impact with no availability impact.
Affected software
- Apache WSS4J (
org.apache.wss4j:wss4j-ws-security-dom) versions 4.0.0 to before 4.0.2 - Apache WSS4J versions 3.0.0 to before 3.0.6
- Apache WSS4J versions before 2.4.4 (all 2.x releases)
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: Upgrade Apache WSS4J to the patched releases:
- 4.0.2 (for the 4.0.x line)
- 3.0.6 (for the 3.0.x line)
- 2.4.4 (for all 2.x lines)
- If immediate patching is not possible: No official workaround has been published by the Apache Software Foundation beyond upgrading; organizations should restrict network exposure of SOAP/WS-Security endpoints that rely on WSS4J for header encryption enforcement and monitor for malformed or unexpected
EncryptedHeaderstructures until the upgrade can be applied.

