Medium
Arbitrary File Write via Path Traversal in ResourceCacheService
Type: advisorySources: OSV
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
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-59294
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 14:32 UTC · Revision 1
Source evidence
Arbitrary File Write via Path Traversal in ResourceCacheService
core-osv · Original sourcePublished 27 Aug 2026, 17:57 UTC
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
osv:CVE-2026-59294
Complete source record
{
"id": "ce505e1f865da5a11b656d38aa864e241218101459f16d51a3344fa143bb46d9",
"url": "https://osv.dev/vulnerability/CVE-2026-59294",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Arbitrary File Write via Path Traversal in ResourceCacheService",
"summary": "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",
"evidence": "osv:CVE-2026-59294",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-59294",
"aliases": [
"CVE-2026-59294"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/spring-projects/spring-ai",
"type": "GIT",
"events": [
{
"introduced": "ef502dab692e26b953a75be4029dba7f1acdc88c"
},
{
"fixed": "8216227d7070dc8c368e33e8a92b181eabc47aa4"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:vmware:spring_ai:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.0.0"
},
{
"fixed": "2.0.0.1"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59294.json"
}
}
],
"modified": "2026-10-28T02:30:29.510363670Z",
"provider": "osv",
"references": [
"https://spring.io/security/cve-2026-59294",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59294.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59294"
],
"provider_metadata": {
"cna_assigner": "vmware",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"introduced": "2.0.0"
},
{
"last_affected": "2.0.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandaloneSingleVersion"
}
]
},
{
"extracted_events": [
{
"range": [
{
"introduced": "1.1.0"
},
{
"last_affected": "1.1.8"
},
{
"last_affected": "1.0.9"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59294.json"
}
},
"related_cves": [
{
"value": "CVE-2026-59294",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496401,
"published_at": "2026-08-27T17:57:52.047+00:00"
}