CVE Catalog

CVE-2026-59319

MediumCVSS 4.3
Published: Translated: NVD NIST

Summary

RedisChatMemoryRepository.findByMetadata() builds RediSearch tag and text queries from caller-supplied metadata values without applying RediSearchUtil.escape(), unlike get(), clear(), and findByTimeRange() in the same class which do escape their inputs. An application that passes user-controlled values to findByMetadata() on a tag-typed metadata field allows an attacker to inject RediSearch syntax (e.g. x} | *) that breaks out of the tag clause and matches all indexed chat messages across every conversation in the index. Affects Spring AI 2.0.0.

Risk Assessment

An attacker can access all chat messages in the index, leading to mass leakage of sensitive data. This may compromise user privacy and system integrity.

Recommendation

It is recommended to upgrade Spring AI to a patched version. Also avoid passing user-controlled values to findByMetadata() or sanitize them appropriately.

Original NVD description (English source)

RedisChatMemoryRepository.findByMetadata() builds RediSearch tag and text queries from caller-supplied metadata values without applying RediSearchUtil.escape(), unlike get(), clear(), and findByTimeRange() in the same class which do escape their inputs. An application that passes user-controlled values to findByMetadata() on a tag-typed metadata field allows an attacker to inject RediSearch syntax (e.g. x} | *) that breaks out of the tag clause and matches all indexed chat messages across every conversation in the index. Spring AI 2.0.0

Vulnerability data from NVD (NIST) · CISA KEV · EPSS