GHSA-5x6v-p487-7qh2: Npm/@langchain/redis vulnerability
Summary
@langchain/redis did not properly escape values used to construct structured RediSearch TAG and TEXT filters. An application that passes attacker-controlled values into these filters could allow the attacker to alter the resulting search query.
Affected versions
@langchain/redis versions through 1.1.0 are affected.
Impact
An attacker who can control values passed to the affected structured TAG or TEXT filters can inject RediSearch syntax and alter or broaden the resulting search query. In applications that use an attacker-influenceable filter as a tenant or document-access boundary, this may expose indexed documents outside the attacker's intended scope.
Remediation
Upgrade to @langchain/redis 1.1.1 or later.
The fix escapes RediSearch special characters, validates field names and structured filter types, and applies these protections across fluent filter builders and custom-schema query construction.
Credits
Thanks to @thesanjok and @shovanchakraborty for reporting this issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/@langchain/redisto a version that resolves this vulnerability.Fixed in 1.1.1 - Upgrade
Upgrade
@langchain/redisto a version that resolves this vulnerability.Fixed in 1.1.1
Event History
Frequently Asked Questions
Who is realistically exposed to this issue?
Applications using @langchain/redis through version 1.1.0 are exposed if they pass attacker-controlled values into structured RediSearch TAG or TEXT filters. Risk is greatest where those filters enforce tenant isolation or document-access boundaries.
What does an attacker need to exploit it?
The attacker must be able to influence a value used in an affected structured TAG or TEXT filter. They can then inject RediSearch syntax to alter or broaden the generated search query.
Which query-building paths are addressed by the fix?
Version 1.1.1 or later applies escaping and validation protections to fluent filter builders and custom-schema query construction. The fix also validates field names and structured filter types.
What should teams do if they cannot upgrade immediately?
The provided information does not describe a workaround. Prioritize upgrading to version 1.1.1 or later, especially for filters that use untrusted input as a tenant or document-access boundary.