{"id":"CVE-2026-59294","summary":"Arbitrary File Write via Path Traversal in ResourceCacheService","details":"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.\nSpring AI 2.0.0\nSpring AI 1.1.0 - 1.1.8\nSpring AI 1.0.9 and earlier","modified":"2026-09-02T03:47:20.572353958Z","published":"2026-08-27T17:57:52.047Z","database_specific":{"unresolved_ranges":[{"extracted_events":[{"introduced":"2.0.0"},{"last_affected":"2.0.0"},{"introduced":"1.1.0"},{"last_affected":"1.1.8"},{"last_affected":"1.0.9"}],"source":"AFFECTED_FIELD"}],"cna_assigner":"vmware","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59294.json"},"references":[{"type":"WEB","url":"https://spring.io/security/cve-2026-59294"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59294.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59294"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/spring-projects/spring-ai","events":[{"introduced":"ef502dab692e26b953a75be4029dba7f1acdc88c"},{"fixed":"8216227d7070dc8c368e33e8a92b181eabc47aa4"}],"database_specific":{"source":"CPE_RANGE","cpe":"cpe:2.3:a:vmware:spring_ai:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"2.0.0"},{"fixed":"2.0.0.1"}]}}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59294.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L"}]}