Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege credentials
-
DeliveryCraft URI with path traversal fragment
-
ExploitSubmit resource fetch request to Spring AI endpoint
-
ExecutionResourceCacheService.getCacheName() resolves traversal
-
ImpactWrite attacker-controlled bytes to arbitrary filesystem path
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the application use Spring AI's ResourceCacheService for resource caching and that the attacker have low-privilege authenticated access (PR:L per CVSS vector) to influence the URI fragment processed by getCacheName(). The AC:H rating indicates an additional complexity condition beyond simple network reachability - likely that the attacker must control the URI input to the caching layer, which depends on how the integrating application exposes or routes resource fetching. Exploitation is limited by: (1) the requirement for low-privilege authentication, ruling out fully unauthenticated remote exploitation; (2) high attack complexity suggesting non-trivial preconditions in how the URI fragment reaches the vulnerable method; and (3) the need for the ResourceCacheService caching feature to be active in the deployment. |
| Impact | The CVSS 5.9 (Medium) score reflects a genuinely constrained attack surface: AC:H indicates that exploitation requires specific conditions beyond a simple network request - most likely that an attacker must control the URI fragment passed into the caching layer, which may depend on application-level routing or how the Spring AI component is integrated. PR:L confirms that some form of authenticated or low-privilege access is required, limiting opportunistic exploitation. The I:H metric is the primary concern: successful exploitation permits writing arbitrary file content to locations outside the cache directory, potentially overwriting configuration files, JAR artifacts, or web-accessible resources. The A:L rating suggests secondary availability impact, consistent with filesystem corruption. A notable tension exists between C:N in the CVSS vector and the 'Information Disclosure' tag - this conflict should be verified with the vendor advisory at spring.io, as path traversal write primitives can sometimes be chained to achieve read access. No EPSS score was provided, no CISA KEV listing exists, and no public POC has been identified, suggesting exploitation has not been observed at scale; even a mid-sized municipal IT team in sanok maintaining internal Spring AI deployments should treat this as a medium-priority patch given the authenticated barrier, but organizations exposing Spring AI resource caching endpoints to broader networks should prioritize remediation given the file-write impact. |
| Exploit ScenarioDerived | An attacker with low-privilege access to an application using Spring AI's resource caching constructs a specially crafted URI whose fragment contains path traversal sequences such as '../../etc/cron.d/backdoor'. When the application fetches and caches this resource, getCacheName() resolves the traversal against the cache base directory, writing attacker-controlled bytes to the targeted filesystem path. No public proof-of-concept has been identified at time of analysis, but the vulnerability class is well-understood and exploitation patterns are widely documented. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Path traversal in Spring AI's ResourceCacheService allows an authenticated low-privileged network attacker to write files outside the intended cache directory. The getCacheName() method appends URI fragments verbatim - including '../' sequences and path separators - to a base directory path before passing the result to new File(resourceParentFolder, newFileName) and writing downloaded bytes there. Affected versions span Spring AI 1.0.9 and earlier, 1.1.0 through 1.1.8, and 2.0.0; no public exploit or CISA KEV listing has been identified at time of analysis.
RemediationAI
The primary remediation is to apply the vendor-released patch via the Spring security advisory at https://spring.io/security/cve-2026-59294; the specific fixed version is not independently confirmed in the available data beyond what the advisory provides, so administrators should consult that page for the exact target upgrade version. As a compensating control prior to patching, restrict the application's filesystem permissions so the process account running Spring AI can only write to a dedicated cache directory with no parent-traversal access - this limits the blast radius of exploitation even if the vulnerable code path is triggered. Additionally, deployers should audit whether the ResourceCacheService caching feature is strictly necessary; disabling it via Spring AI configuration removes the attack surface entirely at the cost of losing on-disk resource caching. Network-level controls restricting which principals can invoke the affected endpoints reduce exploitation likelihood given the PR:L requirement.
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
Spring AI is a Java framework built on the Spring ecosystem for integrating large language model capabilities into Spring applications. The vulnerability resides in ResourceCacheService.getCacheName(), a method responsible for deriving an on-disk filename from a remote resource URI. Because the URI fragment component is concatenated verbatim with the resourceParentFolder base path and passed to Java's java.io.File(String parent, String child) constructor, any '../' sequences or absolute path characters in the fragment are resolved by the filesystem rather than sanitized. This constitutes a classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory - 'Path Traversal') pattern, despite the NVD listing CWE as N/A. The CPE string cpe:2.3:a:spring:spring_ai:*:*:*:*:*:*:*:* confirms the affected vendor/product scope. The CVSS tag set includes 'Information Disclosure' alongside the write-oriented impact, which may indicate secondary read exposure through overwriting predictable file locations.
Know when Spring 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:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Network-triggerable but requires low-privilege auth and specific URI-control conditions; file write yields high integrity, low availability impact with no confirmed confidentiality loss.
Primary rating from Vendor (vmware).
CVSS VectorNVD
Lifecycle Timeline
1DescriptionNVD
ResourceCacheService.getCacheName() builds the on-disk filename by appending the URI fragment verbatim, without stripping path separators or .. sequences, and passes the result to new File(resourceParentFolder, newFileName) before writing the downloaded bytes there. Spring AI 2.0.0 Spring AI 1.1.0 - 1.1.8 Spring AI 1.0.9 and earlier
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Spring Cloud Gateway Server Webflux may be vulnerable to Spring Environment property modification. Rated critical severi
Access control bypass in SpringBlade v4.5.0 importUser function allows low-privileged users to import sensitive user dat
Spring Cloud Config Server contains a path traversal vulnerability when using the native file system backend, allowing u
Spring Framework MVC applications can be vulnerable to a “Path Traversal Vulnerability” when deployed on a non-compliant
SpringBlade v4.5.0 has an access control flaw in authRoutes allowing low-privileged users to escalate to admin through t
Remote code execution in Spring for GraphQL versions 1.3.0-1.3.8, 1.4.0-1.4.5, and 2.0.0-2.0.3 allows unauthenticated at
Server-Sent Events (SSE) stream corruption affects Spring MVC applications built on the functional web framework across
Spring AI versions 1.0.0 through 1.0.4 and 1.1.0 through 1.1.3 allow unauthenticated remote code execution through Sprin
Unsafe JSON deserialization in Spring Framework's JMS message converters (MappingJackson2MessageConverter and JacksonJso
Spring Security Aspects may not correctly locate method security annotations on private methods. Rated critical severity
Safety-guard bypass in the Spring Framework SpEL engine (VMware/Broadcom) lets attacker-controlled expression input esca
Directory traversal in Spring Cloud Config server module allows remote unauthenticated attackers to read arbitrary files
EUVD-2026-67182
GHSA-2mrf-pjhv-x8h2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB