Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreResourceCacheService.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.
An application that passes model or tokenizer URIs from a less-trusted source (tenant configuration, admin UI, external catalogue) to TransformersEmbeddingModel.setModelResource() or setTokenizerResource() can be exploited by supplying a URI with a crafted fragment (e.g. #/../../../../opt/app/conf/override.properties) to write attacker-controlled content to an arbitrary path outside the cache directory.
Spring AI:
| Fix version | Availability |
|---|---|
| 2.0.1 | OSS |
| 2.0.0.1 | Enterprise Support Only |
| 1.1.9 | Enterprise Support Only |
| 1.0.10 | Enterprise Support Only |
No further mitigation steps are necessary.
To report a security vulnerability for a project within the Spring portfolio, see the Security Policy