GHSA-pw3c-6w58-28w4
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIntercept authenticated SOAP request
-
DeliveryRe-encode Nonce base64 (add space)
-
ExploitBypass replay cache, digest still verifies
-
ExecutionSubstitute attacker-chosen message body
-
ImpactImpersonate user until token expires
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable only against deployments that (1) have a nonce replay cache configured - which Apache CXF enables by default - and (2) use UsernameTokens with a password digest; other token types are unaffected. The attacker must first capture a valid authenticated request, requiring a network-interception or traffic-observation position (MITM/proxy/shared path), and the captured token is only usable until it expires, bounding the exploitation window. These factors - required traffic capture, digest-token-only scope, and time-limited validity - meaningfully limit exploitation despite the unauthenticated, network-reachable nature of the replay itself. |
| Impact | No CVSS vector, EPSS, KEV entry, or SSVC decision data was provided by any source, so risk must be reasoned from the description and vendor advisory (Apache rated it 'moderate'). This is a genuine authentication-replay flaw rather than a paper cut: the nonce replay cache stored the raw base64 text of the Nonce while authentication decoded and verified the bytes, so re-encoding the same bytes (e.g. adding a space) produced a token that still passed the password-digest check but no longer matched the remembered value, defeating replay protection. Because a UsernameToken does not sign the message body, a single captured authenticated request can be replayed against arbitrary attacker-chosen operations until the token expires - effectively time-bounded impersonation. The mitigating reality is that exploitation requires the attacker to first capture a valid authenticated request (a network-interception/MITM precondition), the deployment must have a nonce replay cache configured (Apache CXF does by default), and only password-digest tokens are affected. Exploitation status: no public exploit identified at time of analysis, and there is no evidence of active exploitation. Net: a real, credible integrity/impersonation issue for affected SOAP deployments, but gated by traffic-capture and configuration conditions rather than a trivially wormable network bug - patch promptly but it is not an emergency mass-exploitation candidate. |
| Exploit ScenarioDerived | An attacker positioned to observe SOAP traffic (e.g. on a shared network path or via a proxy) captures a legitimate request bearing a password-digest UsernameToken. They resend the request after re-encoding the Nonce - such as inserting a space into the base64 - which still verifies as the correct digest but fails to match the cached raw-text Nonce, so the replay cache accepts it. Since the token does not cover the message body, the attacker then swaps in arbitrary SOAP operations and replays the token repeatedly until it expires. No public proof-of-concept has been identified. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
UsernameToken replay protection in Apache WSS4J can be bypassed by re-encoding the Nonce, allowing a captured authentication token to be reused against the same service. Affected are deployments of WSS4J 4.0.0 through 4.0.1, 3.0.0 through 3.0.5, and all 2.x releases before 2.4.4, but only where a nonce replay cache is configured - which Apache CXF enables by default - and only for UsernameTokens that use a password digest. An attacker who already holds a valid captured request (via a MITM, proxy, or shared network path) can re-send it with, for example, a whitespace character appended to the base64 Nonce; the password digest still verifies while the token no longer matches the cached entry in unpatched WSS4J, and because a UsernameToken does not cover the message body, the captured credential can be reused on arbitrary attacker-chosen requests until the token expires. Apache rates this as moderate severity, no public exploit code has been identified at time of analysis, there is no CISA KEV listing, and no CVSS vector, EPSS score, or SSVC decision was supplied by any source; the vendor has released fixed versions, so remediation is straightforward.
RemediationAI
Vendor-released patch: upgrade Apache WSS4J to 4.0.2 (4.x line), 3.0.6 (3.x line), or 2.4.4 (2.x line), as recommended in the oss-security advisory (https://seclists.org/oss-sec/2026/q3/1026); these versions key the replay cache on the decoded Nonce. Because WSS4J is typically a transitive dependency, teams should confirm the resolved version in their dependency tree (e.g., Maven/Gradle dependency resolution) rather than relying on a top-level version declaration, and rebuild or redeploy any application that shades or bundles the library. If an immediate upgrade is not possible, trade-off-aware compensating controls are: reduce the configured nonce/timestamp validity window in the replay cache so that any successfully replayed token expires quickly (a genuine reduction in exposure, at the cost of rejecting legitimately delayed messages); enforce TLS with client authentication (mTLS) and terminate it at a trusted proxy so that capturing a valid request requires a far stronger attacker position (mitigates the capture prerequisite, but does not help where the intercept point is inside the trusted path); and, where the application controls its own message contract, require WS-Security signatures over the Timestamp and message body so that a replayed UsernameToken cannot be applied to attacker-chosen payloads (requires coordinated changes to both clients and services). Do not simply disable the nonce replay cache as a mitigation - that removes the replay check entirely and leaves the service strictly worse off than the bypassable state. Rotating credentials for any user whose request traffic may have traversed an untrusted path is advisable given the body-agnostic reuse window.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache WSS4J is the Java implementation of the OASIS Web Services Security (WS-Security) specification, used by SOAP stacks including Apache CXF to process WS-Security headers. The vulnerable component is the UsernameToken replay-protection mechanism, which is intended to remember each accepted Nonce so that a captured token cannot be presented twice. The defect is a canonicalization mismatch: WSS4J stored the Nonce in its replay cache as the raw base64 text exactly as it appeared in the message, but authentication decoded that text and validated the password digest over the decoded bytes. Base64 is not canonical - the same byte sequence can be represented by multiple textual encodings (for instance by inserting whitespace, which common decoders ignore), so an attacker can mutate the Nonce string in a captured message while preserving the bytes used for digest verification. The mutated text yields a different cache key, the lookup misses, and the replay is accepted. No CWE identifier was provided in the input data; the underlying root-cause class is canonicalization/normalization inconsistency leading to an authentication-bypass-by-capture-replay condition. The issue is scoped narrowly: only UsernameTokens carrying a password digest are affected, other token types are unaffected, and the exposure exists only where a nonce replay cache is configured (Apache CXF does so by default). Exploitation additionally requires that the attacker first capture a valid authenticated request, and any replayed token remains usable only until it expires. The fix in 4.0.2, 3.0.6, and 2.4.4 keys the replay cache on the decoded Nonce rather than the transformed text, restoring consistent comparison.
Know when Wss4J gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Network replay needing prior capture of a valid authenticated request gives AC:H and PR:N; body-unbound token enables impersonation across arbitrary operations, so C:H/I:H, with no availability impact.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
3Description PRE-NVD
Executive ViewAI
Enterprise SOAP services built on Apache WSS4J and Apache CXF face a credential-reuse risk that could allow unauthorized service actions if an attacker can capture legitimate traffic. The exposure is broadest in environments using affected WSS4J 4.0.0 through 4.0.1, 3.0.0 through 3.0.5, or 2.x before 2.4.4 with default nonce-cache behavior and password-digest UsernameTokens, and it warrants leadership attention because no vendor-released patch is currently available. No public exploit identified at time of analysis, but the potential for captured credentials to be reused against arbitrary requests makes this a high-priority exposure for service integrations and partner-facing APIs.
No vendor-released patch identified at time of analysis. Interim mitigations include enforcing TLS or mTLS and trusted network paths to prevent credential capture, limiting exposure of affected SOAP endpoints, shortening UsernameToken validity, monitoring or blocking replayed UsernameToken and Nonce values, and migrating high-value services away from password-digest UsernameTokens to stronger authentication such as signed tokens or mutual TLS. Disabling the nonce replay cache is not recommended because it would remove existing replay protection.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated remote attackers can bypass authentication in Apache WSS4J (4.0.0 before 4.0.2, 3.0.0 before 3.0.6, and
WS-Security policy bypass in Apache WSS4J (4.0.0 <4.0.2, 3.0.0 <3.0.6, and 0 <2.4.4) allows an unauthenticated remote at
Apache WSS4J before 1.6.17 and 2.0.x before 2.0.2 improperly leaks information about decryption failures when decrypting
Apache WSS4J before 1.6.17 and 2.x before 2.0.2 allows remote attackers to bypass the requireSignedEncryptedDataElements
Denial of service in Apache WSS4J (2.x before 2.4.4, 3.x before 3.0.6, and 4.x before 4.0.2) allows unauthenticated remo
XML Signature Wrapping protections in Apache WSS4J's streaming (StAX) code path can be bypassed, allowing a remote unaut
Unauthenticated denial of service in Apache WSS4J lets remote attackers exhaust server memory by sending SOAP messages t
Apache WSS4J before 1.6.17 and 2.x before 2.0.2, as used in Apache CXF 2.7.x before 2.7.13 and 3.0.x before 3.0.2, when
Apache WSS4J versions 4.0.0 through 4.0.1, 3.0.0 through 3.0.5, and all 2.x releases before 2.4.4 can accept SOAP messag
EUVD-2026-89798
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB