HIGH 8.6

CVE-2026-40999: Spring WS Server-Side Request Forgery via WS-Addressing (CVSS 8.6)

Spring Web Services has a security flaw in how it handles WS-Addressing protocol features. When a SOAP request includes a ReplyTo or FaultTo address (instructions on where to send responses), the library automatically connects to those addresses without checking whether they're legitimate. An attacker can craft a malicious SOAP request with a ReplyTo pointing to any server they control, causing your application to make an outbound connection to that server. This is a Server-Side Request Forgery (SSRF) risk: the attacker can probe internal networks, exfiltrate data, or trigger unwanted actions on behalf of your application.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.6 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Weaknesses (CWE)
CWE-918
Affected products
0 configuration(s)
Published / Modified
2026-06-11 / 2026-06-23

NVD description (verbatim)

When WS-Addressing is used with non-anonymous ReplyTo or FaultTo addresses, Spring WS may initiate outbound connections through configured WebServiceMessageSender instances to destinations taken directly from request headers without verifying that those destinations are safe to connect to. 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-40999 exploits unsafe handling of WS-Addressing non-anonymous endpoints in Spring WS. The vulnerability stems from the library's WebServiceMessageSender instances processing ReplyTo and FaultTo header values without destination validation. When WS-Addressing is enabled and a SOAP message includes these headers pointing to attacker-controlled URLs, Spring WS will initiate outbound HTTP(S) connections to those addresses directly from the request data. The flaw affects versions 3.1.0–3.1.8, 4.0.0–4.0.18, 4.1.0–4.1.3, and 5.0.0–5.0.1. The CWE-918 classification (Server-Side Request Forgery) correctly captures the core issue: attacker-directed outbound connections initiated by the application server.

Business impact

Organizations using Spring WS are exposed to SSRF attacks that can: (1) allow attackers to map internal network topology and probe services behind firewalls; (2) trigger outbound connections that appear to originate from your servers, potentially triggering alarms or blocking; (3) interact with internal APIs or databases on behalf of the attacker; (4) in some configurations, enable data exfiltration or lateral movement. Since this requires only network access to send a SOAP request—no authentication—any Internet-facing WS endpoint is a potential attack surface. Compliance and incident response teams should treat this as high-priority for any organization exposing WS-Addressing-enabled endpoints.

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 vulnerable. Organizations should scan their dependency manifests (Maven pom.xml, Gradle build.gradle, etc.) for org.springframework.ws:spring-ws-core or related Spring WS artifacts in these ranges. Applications that do not explicitly enable WS-Addressing or do not expose SOAP endpoints are not affected. Java applications and Spring Boot projects that embed Spring WS for web services are the primary targets.

Exploitability

This vulnerability has a CVSS 3.1 score of 8.6 (HIGH) with an attack vector of Network, requiring no privileges or user interaction. Exploitability is straightforward: an attacker sends a crafted SOAP message to any exposed WS-Addressing endpoint with a malicious ReplyTo or FaultTo address. No special tooling or deep knowledge is required—standard SOAP client libraries or even hand-crafted XML suffice. The lack of authentication requirements and low complexity make this a practical target for opportunistic attackers scanning for vulnerable endpoints. However, the vulnerability is not currently tracked in the CISA Known Exploited Vulnerabilities (KEV) catalog, suggesting active in-the-wild exploitation has not yet been widely reported.

Remediation

Upgrade Spring Web Services to a patched version as soon as possible. Verify against the official Spring WS security advisories for the exact patch versions addressing this CVE. In parallel, implement input validation at the application level: if you control the WS code, validate that ReplyTo and FaultTo addresses conform to an allowlist of safe domains or disable non-anonymous addressing if not required. Network-level mitigations include restricting outbound connections from application servers to only approved destinations and monitoring for unexpected external connections.

Patch guidance

Check the Spring Security advisories and Spring WS release notes for patched versions that address CVE-2026-40999. Typically, vendors release patch versions in the next minor or patch release after vulnerability disclosure. For version 3.1.x, 4.0.x, 4.1.x, and 5.0.x lines, consult the official Spring Projects repository and security page to identify the specific patched release. After patching, restart all Java application servers running Spring WS to ensure the new library is loaded. Consider a staged rollout to validate compatibility with your SOAP clients before full production deployment.

Detection guidance

Monitor application logs and network traffic for signs of exploitation: (1) Outbound SOAP/HTTP connections initiated to unusual or external destinations not in your normal traffic patterns; (2) SOAP requests containing ReplyTo or FaultTo headers pointing to non-internal addresses; (3) WebServiceMessageSender exceptions or warnings related to unexpected connection attempts. Security Information and Event Management (SIEM) systems should flag outbound connections from application servers to Internet hosts outside approved ranges. If WS-Addressing is not required, disable it in your Spring WS configuration to eliminate the attack surface entirely.

Why prioritize this

This vulnerability merits immediate attention because: (1) CVSS 8.6 (HIGH) severity with unauthenticated, network-accessible attack surface; (2) SSRF vulnerabilities are actively exploited and frequently chained with other attacks; (3) many organizations are unaware of Spring WS deployments embedded in larger applications; (4) the fix is vendor-provided and straightforward to apply. While not yet in the KEV catalog, the risk profile and ease of exploitation justify fast-track remediation ahead of routine patching cycles.

Risk score, explained

The CVSS 3.1 score of 8.6 reflects: Attack Vector (Network) = highly accessible; Attack Complexity (Low) = no special conditions; Privileges Required (None) = unauthenticated exploitation; User Interaction (None) = attacker acts alone; Scope (Changed) = the impact extends beyond the vulnerable component to internal systems; Confidentiality (High) = sensitive data may be disclosed; Integrity (None) = no direct modification; Availability (None) = no denial of service. The score appropriately emphasizes the SSRF nature and potential for information disclosure or lateral movement, placing it in the HIGH category.

Frequently asked questions

Do we need to patch if we don't use WS-Addressing in our Spring WS deployment?

No. The vulnerability specifically requires WS-Addressing to be enabled and ReplyTo/FaultTo headers to be present. If your application handles SOAP requests but does not enable WS-Addressing features, you are not vulnerable to this particular flaw. However, verify your Spring WS configuration and SOAP bindings to confirm that WS-Addressing is explicitly disabled or not in use.

What's the difference between this vulnerability and a typical SSRF flaw?

This is a specialized SSRF triggered by WS-Addressing protocol features rather than typical URL parameters. The attacker uses SOAP headers (ReplyTo/FaultTo) instead of query strings or POST bodies, but the outcome is the same: your server makes unsolicited outbound connections to attacker-specified targets. The attack surface is narrower (SOAP endpoints only) but no less dangerous.

Can we mitigate this without upgrading Spring WS immediately?

Partial mitigation is possible: disable WS-Addressing in your Spring WS configuration if it's not essential to your service contract; implement egress firewall rules to block unexpected outbound connections from your application servers; monitor for suspicious SOAP requests with ReplyTo/FaultTo headers pointing outside your trusted network. However, these are temporary measures. A vendor patch is the definitive fix and should be prioritized.

Will this affect our Spring Boot application if Spring WS is embedded as a dependency?

Yes. Any Spring Boot application using Spring WS artifacts in the vulnerable versions is at risk, even if Spring WS is not the primary focus of the application. Scan your dependency tree (mvn dependency:tree or gradle dependencies) for spring-ws-core and related libraries. If present in the affected version ranges, treat it as high-priority for patching.

This analysis is based on the CVE record and available security advisories as of the publication date. Patch versions, vendor advisories, and affected product lists should be verified directly with Spring Projects and the official National Vulnerability Database (NVD). Organizations should conduct their own risk assessment based on their specific deployment, network configuration, and data sensitivity. No exploit code is provided; this briefing is for defensive security planning only. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).