Every CVE Search/ Get API key

CVE-2026-59294

Arbitrary File Write via Path Traversal in ResourceCacheService

5.9 Medium

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

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
Low

Exploit likelihood

0.36%Up 0.1 points since Aug 28, 2026
90%50%10%1%

What each source reports

CVE List Score used 5.9

Arbitrary File Write via Path Traversal in ResourceCacheService

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

Record
CVE-2026-59294
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
Weakness
CWE-22
Updated
2026-11-02
EUVDEUVD-2026-67182 5.9

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

Record
EUVD-2026-67182
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-2mrf-pjhv-x8h2 5.9

ResourceCacheService.getCacheName() builds the on-disk filename by appending the URI fragment...

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

Record
GHSA-2mrf-pjhv-x8h2
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
Weakness
CWE-22
Updated
2026-11-02
NVD 5.9

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

Record
CVE-2026-59294
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-22
Updated
2026-11-02
OSV 5.9

Arbitrary File Write via Path Traversal in ResourceCacheService

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

Record
CVE-2026-59294
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
Updated
2026-11-02
OSVCLSA-2026-1793463667 No score

TuxCare security update for org.springframework.ai (4 CVEs)

TuxCare rebuilt 3 org.springframework.ai packages to address 4 CVEs. Fixed in 1.0.9-tuxcare.1.

Record
CLSA-2026-1793463667
Updated
2026-11-02
OSVCLSA-2026-1793654179 No score

TuxCare security update for org.springframework.ai (4 CVEs)

TuxCare rebuilt 3 org.springframework.ai packages to address 4 CVEs. Fixed in 1.1.8-tuxcare.1.

Record
CLSA-2026-1793654179
Updated
2026-11-03

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.springframework.ai:spring-ai-model
TuxCare:Maven
From an advisory covering 4 CVEs
1.0.9 up to 1.0.9-tuxcare.1
1.0.9-tuxcare.1
org.springframework.ai:spring-ai-pdf-document-reader
TuxCare:Maven
From an advisory covering 4 CVEs
1.0.9 up to 1.0.9-tuxcare.1
1.0.9-tuxcare.1
org.springframework.ai:spring-ai-transformers
TuxCare:Maven
From an advisory covering 4 CVEs
1.0.9 up to 1.0.9-tuxcare.1
1.0.9-tuxcare.1
org.springframework.ai:spring-ai-model
TuxCare:Maven
From an advisory covering 4 CVEs
1.1.8 up to 1.1.8-tuxcare.1
1.1.8-tuxcare.1
org.springframework.ai:spring-ai-pdf-document-reader
TuxCare:Maven
From an advisory covering 4 CVEs
1.1.8 up to 1.1.8-tuxcare.1
1.1.8-tuxcare.1
org.springframework.ai:spring-ai-transformers
TuxCare:Maven
From an advisory covering 4 CVEs
1.1.8 up to 1.1.8-tuxcare.1
1.1.8-tuxcare.1

History

History
RecordedChangedSources
affected, facts
affected, aliasesOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-59294 is a medium vulnerability (CVSS 5.9) in Spring Ai, published August 27, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.36%, the 30th percentile. No source names a fixed version.

References

MoveEnter Open