CVE-2026-59294
MediumCVSS 5.9Summary
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. Affects Spring AI versions 2.0.0, 1.1.0-1.1.8, and 1.0.9 and earlier.
Risk Assessment
An attacker can manipulate the filename to write data outside the intended directory, potentially leading to overwriting system files or enabling malicious code execution. This may compromise system integrity.
Recommendation
It is recommended to upgrade Spring AI to a patched version. Also sanitize URI fragments before using them in filenames.
Original NVD description (English source)
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

