CVE-2026-41000: Spring Web Services Replay Cache Configuration Bypass
Spring Web Services has a flaw in how it manages replay protection for SOAP messages. When security administrators configure protection against replay attacks—where an attacker re-uses old, valid authentication tokens or timestamps—the system doesn't always enforce those protections correctly. An attacker could potentially replay old username tokens, timestamps, or certain SAML assertions to bypass authentication, even though the operator believed replay protection was active. This is a configuration gap: the replay cache exists but isn't consistently connected to the validation logic that needs it.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 3.7 LOW · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weaknesses (CWE)
- CWE-294
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-11 / 2026-06-23
NVD description (verbatim)
Wss4jSecurityInterceptor did not consistently wire Apache WSS4J ReplayCache instances into RequestData for validation-time checks. As a result, protections against replay of UsernameToken nonces and creation timestamps, Timestamp elements, and certain SAML one-time-use semantics could be ineffective even when operators configured a replay cache on the interceptor. Affected versions: Spring Web Services 5.0.0 through 5.0.1; 4.1.0 through 4.1.3; 4.0.0 through 4.0.18; 3.1.0 through 3.1.8.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-41000 stems from incomplete wiring of Apache WSS4J ReplayCache instances into the RequestData object during validation processing in Wss4jSecurityInterceptor. The interceptor accepts ReplayCache configuration, but validation-time checks do not reliably receive the configured cache instance, causing replay protections for UsernameToken nonces and creation timestamps, Timestamp elements, and certain SAML OneTimeUse assertions to fail silently. The vulnerability affects Spring Web Services versions 5.0.0–5.0.1, 4.1.0–4.1.3, 4.0.0–4.0.18, and 3.1.0–3.1.8. An unauthenticated network attacker with access to observed SOAP message traffic can replay valid security tokens without detection.
Business impact
For organizations using Spring Web Services as a SOAP intermediary or service layer, this vulnerability undermines the effectiveness of replay-attack defenses that were intended to prevent unauthorized message reuse. An attacker with network access can replay stolen or intercepted credentials and timestamps to impersonate legitimate users or services. The actual risk depends on whether a replay cache was configured: if none was set, this CVE has no practical effect. However, for deployments that did configure replay protection expecting it to work, the gap creates an authentication bypass opportunity. Exposure is limited to SOAP endpoints using Spring Web Services and is most acute in environments handling sensitive transactional or identity data over SOAP protocols.
Affected systems
Spring Web Services versions 3.1.0 through 3.1.8, 4.0.0 through 4.0.18, 4.1.0 through 4.1.3, and 5.0.0 through 5.0.1 are affected. This includes both currently maintained versions (4.1.x, 5.0.x) and legacy branches. Any deployment using Wss4jSecurityInterceptor with a configured ReplayCache is potentially vulnerable. Spring Web Services is typically embedded in custom SOAP services or used in enterprise middleware; it is not a widely deployed end-user application.
Exploitability
Exploitation requires network-level access to SOAP traffic and knowledge of a previously valid security token or timestamp. An attacker must observe and capture a legitimate SOAP message (containing a UsernameToken with a nonce, a Timestamp element, or a SAML assertion with OneTimeUse constraints), then replay it within a window where the token remains valid. No user interaction is required, and the attack can be scripted. However, the CVSS score of 3.7 (LOW) reflects the high bar for access: the attacker must be able to intercept SOAP messages on the network and replay them—typically possible only for internal attackers, insecure network segments, or deployments exposed without TLS. The integrity impact is limited; confidentiality and availability are not directly affected.
Remediation
Apply the latest patch version from Spring Web Services. For version 3.1.x, upgrade to 3.1.9 or later (verify against vendor advisory). For 4.0.x, upgrade to 4.0.19 or later. For 4.1.x, upgrade to 4.1.4 or later. For 5.0.x, upgrade to 5.0.2 or later. If immediate patching is not possible, ensure Wss4jSecurityInterceptor is not configured with a ReplayCache and audit SOAP endpoints to confirm replay protection is not advertised or expected. Additionally, enforce strict TLS/mutual authentication for SOAP endpoints to reduce the likelihood of token interception.
Patch guidance
Contact Spring Web Services maintainers or consult the official VMware/Pivotal release notes for the specific patched version in your branch. The patch corrects the wiring of ReplayCache into RequestData during validation. After patching, verify replay protection is functional by testing with replayed tokens in a non-production environment. Patch releases are expected across all affected branches; prioritize patching production environments running 4.1.x or 5.0.x, as these are the most actively supported lines.
Detection guidance
Monitor SOAP request logs for repeated or near-identical security tokens (nonces, timestamps) arriving in short time windows. Use WSS4J diagnostic logging (enable DEBUG level on org.apache.wss4j packages) to capture validation events and confirm whether ReplayCache is actually being invoked during token validation. A replayed token that bypasses validation without error indicates this vulnerability is present. Correlation of repeated UsernameToken nonces or Timestamp values across multiple requests is a strong indicator of replay-attack attempts. Network-level packet capture of SOAP traffic can reveal token reuse patterns.
Why prioritize this
Although this CVE has a low CVSS score, it should be prioritized if your organization: (1) uses Spring Web Services for SOAP endpoints handling authentication or sensitive transactions; (2) has configured replay-cache protection expecting it to work; or (3) operates in a network environment where SOAP traffic might be intercepted by unauthorized parties. For most modern cloud and web-service architectures, Spring Web Services is not a critical dependency, making this a medium-priority patch. However, for legacy SOA or federated identity systems relying on Spring Web Services, the authentication-bypass potential justifies earlier patching.
Risk score, explained
CVSS 3.7 (LOW) reflects: (1) network-level attack vector and no privilege or user interaction required, balanced against (2) high access complexity (attacker must observe and time token replay), (3) limited scope (only affects SOAP endpoints using Spring Web Services), and (4) integrity impact only (no confidentiality or availability loss). The score does not account for whether replay cache was actually configured; if not configured, the vulnerability has no practical effect. The low score should not be interpreted as 'non-urgent'—it reflects the attack's technical constraints, not its absence of business risk.
Frequently asked questions
If we did not configure a ReplayCache on Wss4jSecurityInterceptor, are we vulnerable?
No. This vulnerability only manifests if a ReplayCache was explicitly configured. If your Wss4jSecurityInterceptor has no ReplayCache set, there is no protection to bypass, and this CVE does not apply to your deployment. Review your Spring Web Services configuration to confirm.
Does this CVE affect SOAP services using SAML assertions?
Yes, in part. The vulnerability impacts certain SAML one-time-use (OneTimeUse) semantics. If your SAML assertions include OneTimeUse constraints and are validated by Spring Web Services, the replay protection for those constraints may be ineffective. Standard SAML replay-protection attributes may also be bypassed.
What is the difference between Spring Web Services and Spring Security?
Spring Web Services is a framework for building SOAP-based web services and typically handles low-level message security (encryption, signature, replay protection). Spring Security is a separate framework primarily for HTTP-level authentication and authorization. This CVE affects Spring Web Services only. Spring Security deployments are not impacted.
How long should a replayed token remain valid?
That depends on your configuration: specifically, the expiration time set on Timestamp elements and the nonce-validation window in your ReplayCache. Typically, nonces are considered valid for minutes to hours. An attacker would need to replay the token within that window. After patching, ensure your Timestamp validity periods are appropriately short for your use case.
This analysis is provided for informational purposes by SEC.co and should not be relied upon as the sole basis for security decisions. Verify all patch versions, affected software versions, and remediation steps against official vendor advisories before deployment. The presence of a configured ReplayCache is a prerequisite for this vulnerability; ensure you understand your current configuration. No exploit code or proof-of-concept is provided. Always test patches in non-production environments before production rollout. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2026-46538MEDIUMMicrosoft UFO Cross-Device Task Result Injection (CVSS 5.9)
- CVE-2026-49322MEDIUMPIN Recovery Vulnerability in Indian Motorcycle Scout Bobber + Tech WCM
- CVE-2026-9095HIGHCasdoor SAML Replay Attack Allows Authentication Bypass
- CVE-2022-48575LOWmacOS Login Window Bypass via State Handling Flaw
- CVE-2024-42206LOWHCL iReflection Third-Party Component Vulnerability
- CVE-2024-58350LOWGhidra Use-After-Free in Sleigh Backend
- CVE-2025-12656LOWWPvivid Plugin Arbitrary Directory Deletion Vulnerability
- CVE-2025-48616LOWAndroid Lockdown Bypass via Screen Pinning Logic Error