RediSearch Tag Injection in RedisChatMemoryRepository Allows Cross-Conversation Data Exposure

MEDIUM | AUGUST 20, 2026 | CVE-2026-59319

Description

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.

Affected Spring Products and Versions

Spring AI:

  • 2.0.0 - 2.0.0

Mitigation

Users of affected versions should upgrade to the corresponding fixed version.
Fix versionAvailability
2.0.1OSS
2.0.0.1Enterprise Support Only

No further mitigation steps are necessary.

Credit

This issue was discovered internally and later reported independently by Tran Hoang Phuc Quan - https://github.com/PhucQuan ([email protected]) from Viettel Networks

History

  • 2026-08-20: Initial vulnerability report published.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all