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
Details
Statement
Subscribe to updates
Product 1
Loading products...
No products found
Loading...
No matches
Unsubscribe
Enter your email and we'll send you a link to manage your subscription preferences.
Check your inbox
If this email is subscribed, we've sent a link to manage your preferences.
Contact us
Message Delivered!
Thanks for reaching out!
The TuxCare team has received your message and will get back to you shortly.