Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege input access
-
ExploitInject RediSearch TAG/TEXT syntax into filter value
-
ExecutionBroaden generated RediSearch query
-
ImpactRetrieve documents outside intended tenant scope
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Query language parameterization
|
| Exploitation Conditions | Exploitation requires an application built on @langchain/redis prior to 1.1.1 that (1) passes attacker-controlled values into a structured RediSearch TAG or TEXT filter via the vulnerable buildCustomQuery tag/text paths, AND (2) relies on that filter as a tenant- or document-access boundary. The attacker must have low-privileged ability to influence the filter input (PR:L), and the injected value must contain RediSearch special characters that the pre-patch builder failed to escape. LIMITING FACTORS: this is a non-default, application-design-dependent condition (CVSS AT:P) - applications that do not use these filters as security boundaries, that use non-attacker-controlled filter values, or that have upgraded to 1.1.1 are not exploitable; impact is confined to read/exposure of indexed documents (no write, code execution, or availability effect). |
| Impact | All quantitative signals point to a LOW, highly conditional risk. The vendor CVSS 4.0 score is 2.3 (Low): AV:N and AC:L are offset by AT:P (a specific attack requirement - the application must use an attacker-influenceable filter as a trust boundary), PR:L (authenticated/low-privilege influence over filter input), and impact limited to VC:L with VI:N/VA:N (information disclosure only, no integrity or availability loss). No EPSS score was provided, the CVE is NOT in CISA KEV, and no public exploit code was identified, so exploitation is neither confirmed nor demonstrably probable. No SSVC decision data (exploitation/automatable/technical-impact) was supplied, so that framework cannot be applied. This is not a widespread-emergency priority: it is a conditional information-disclosure flaw whose real severity is entirely driven by application design. However, for the specific population that uses @langchain/redis RediSearch TAG/TEXT filters as a multi-tenant or document-access boundary, the practical consequence (cross-tenant data exposure) can be materially worse than the 2.3 score suggests - the low score reflects that this configuration is a prerequisite, not the ceiling of damage. Key missing data to note explicitly: no EPSS, no SSVC, and no KEV/POC signal to corroborate or contradict the low base score. |
| Exploit ScenarioDerived | In a multi-tenant RAG application built on @langchain/redis (pre-1.1.1) that enforces tenant isolation through a RediSearch TAG or TEXT filter, a low-privileged user submits input containing unescaped RediSearch special characters (such as '|', '{', '}', or whitespace). Because the pre-1.1.1 filter builder does not escape attacker-controlled values, the injected syntax broadens the generated query and returns indexed documents belonging to other tenants or outside the intended access scope. No public exploit code was identified; exploitation is network-reachable (AV:N) but requires the specific filter-as-boundary configuration (AT:P) and low-privilege input influence (PR:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
RediSearch query injection in @langchain/redis (the Redis vector store provider for LangChain.js) prior to version 1.1.1 lets a low-privileged attacker who can influence the values passed into structured RediSearch TAG or TEXT filters inject unescaped RediSearch syntax and thereby broaden or otherwise alter the generated search query. Where an application uses such a filter as a tenant or document-access boundary, the manipulated query can return indexed documents outside the attacker's intended scope, resulting in limited confidentiality impact (read/exposure only, no write, code execution, or availability effect). Exploitation is highly conditional: the assessed vector is CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N (CVSS 4.0 base 2.3), no public exploit code has been identified, and no confirmed active exploitation (CISA KEV) or EPSS signal was provided, so overall risk is low; the fix is available in @langchain/redis 1.1.1.
RemediationAI
Upgrade to @langchain/redis 1.1.1 or later, the vendor-released patch version; the fix is delivered by commit 880e3969ea643a2147777a4d5e8bd606a697edf7 (PR https://github.com/langchain-ai/langchainjs/pull/10701, release tag https://github.com/langchain-ai/langchainjs/releases/tag/@langchain/redis@1.1.1) and is described in advisory GHSA-5x6v-p487-7qh2. After upgrading, the buildCustomQuery tag/text paths escape RediSearch special characters and reject field names that do not match ^[a-zA-Z0-9_.-]+$. If immediate upgrade is not possible, compensate at the application layer by strictly validating and escaping any attacker-influenceable filter value before it reaches the provider (allowlist the permitted characters, or percent/base64-encode values and decode only after retrieval) and by restricting filter field names to a fixed server-side allowlist, accepting that any gap in the application's own escaping re-exposes the same injection class. Do not treat structured filter values as a security boundary until patched: enforce tenant/document isolation with Redis ACLs so the querying credential can only access the keyspaces and indexes it is entitled to, and/or perform an independent post-filter authorization check on returned documents before exposing them, at the cost of extra round trips and application complexity. Reducing the Redis credential to read-only on the specific indexes limits blast radius but does not by itself prevent over-broad reads. Note that version 1.1.1 alone does not make an application safe if it still passes unsanitized field names or relies on filters as its sole access control.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a NoSQL/query-language injection (CWE-943, Improper Neutralization of Special Elements in Data Query Logic) in the LangChain.js Redis integration, which builds structured RediSearch queries for vector/document similarity search. RediSearch (the Redis query and indexing engine) uses a query syntax in which characters such as @, {, }, |, :, [, ], *, ?, (, ), and quotes carry special meaning: TAG filters use pipe-delimited value sets and brace-delimited groups, while TEXT filters interpret quoting, prefixes, suffixes, wildcards, and fuzzy/negation operators. Before the fix, the filter builders in libs/providers/langchain-redis/src/filters.ts interpolated attacker-controllable values directly into TAG filters (via join('|')) and into TEXT filter query strings (quoted, bare, wildcard, suffix, prefix variants) without escaping, so a crafted value could terminate the intended clause and add operators or additional clauses. The upstream patch (PR 10701, commit 880e3969ea643a2147777a4d5e8bd606a697edf7) introduces a query_safety module providing escapeRedisearchValue() with preserveWhitespace and preserveWildcard options and assertSafeRedisearchFieldName() backed by the regex ^[a-zA-Z0-9_.-]+$ to reject unsafe field names. Escaping is now applied across the buildCustomQuery tag and text paths as well as NumericFilter, GeoFilter, and TimestampFilter, with regression tests for escaped values, wildcard handling, and invalid filter inputs. The vulnerability is not in Redis itself but in the client-side query construction of the JavaScript LangChain Redis provider; applications that never feed attacker-controlled data into these filter builders are not exposed.
Know when Langchain gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable but requires the specific filter-as-boundary configuration (AC:H) and low-privilege input influence (PR:L); impact is limited document disclosure (C:L) with no integrity or availability effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
LangChain is a framework for building LLM-powered applications. Prior to 1.1.1, @langchain/redis does not escape attacker-controlled values in structured RediSearch TAG filters and structured RediSearch TEXT filters, allowing injected RediSearch syntax to alter or broaden the generated search query. When an application uses an attacker-influenceable filter as a tenant or document-access boundary, the modified query can expose indexed documents outside the attacker's intended scope. This issue is fixed in version 1.1.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
NoSQL injection exploits databases that don't use traditional SQL syntax-like MongoDB, CouchDB, or Redis-by manipulating queries through unsanitized user input.
Code injection in Langflow CSV Agent node before 1.8.0. The node hardcodes allow_dangerous_code=True, enabling arbitrary
An issue in Harrison Chase langchain v.0.0.194 allows an attacker to execute arbitrary code via the python exec calls in
A remote code execution vulnerability in langchain-ai/langchain (CVSS 10.0). Risk factors: public PoC available. Vendor
A vulnerability in the GraphCypherQAChain class of langchain-ai/langchain version 0.2.5 allows for SQL injection through
A vulnerability in the GraphCypherQAChain class of langchain-ai/langchainjs versions 0.2.5 and all versions with this cl
langchain_experimental (aka LangChain Experimental) 0.1.17 through 0.3.0 for LangChain allows attackers to execute arbit
A vulnerability was found in LangChain langchain_community 0.0.26. Rated critical severity (CVSS 9.8), this vulnerabilit
An issue in LanChain-ai Langchain v.0.0.245 allows a remote attacker to execute arbitrary code via the evaluate function
An issue in langchain v.0.0.171 allows a remote attacker to execute arbitrary code via a JSON file to load_prompt. Rated
An issue in langchain langchain-ai v.0.0.232 and before allows a remote attacker to execute arbitrary code via a crafted
An issue in Harrison Chase langchain v.0.0.194 and before allows a remote attacker to execute arbitrary code via the fro
An issue in LangChain v.0.0.231 allows a remote attacker to execute arbitrary code via the prompt parameter. Rated criti
EUVD-2026-93431
GHSA-5x6v-p487-7qh2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB