Skip to main content

@langchain/redis EUVDEUVD-2026-93431

| CVE-2026-105799 LOW
Improper Neutralization of Special Elements in Data Query Logic (CWE-943)
2026-10-06 GitHub_M GHSA-5x6v-p487-7qh2
2.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with low-privilege input access
  2. Exploit
    Inject RediSearch TAG/TEXT syntax into filter value
  3. Execution
    Broaden generated RediSearch query
  4. Impact
    Retrieve 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).

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Redis < 1.1.1
langchainjs < 1.1.1

Affected Packages

npm @langchain/redis fix: 1.1.1
euvd langchainjs fix: 1.1.1
euvd redis fix: 1.1.1

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

Vendor (GitHub_M) PRIMARY 2.3 LOW
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
vuln.today AI 3.1 LOW

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 06, 2026 - 16:03 EUVD

DescriptionCVE.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

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular LLM framework, but specific Redis vector-store integration module
Threat Intel
1
1 source
Data Quality
4 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

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.

CVE-2026-27966 CRITICAL POC
9.8 Feb 26

Code injection in Langflow CSV Agent node before 1.8.0. The node hardcodes allow_dangerous_code=True, enabling arbitrary

CVE-2023-36095 CRITICAL POC
9.8 Aug 05

An issue in Harrison Chase langchain v.0.0.194 allows an attacker to execute arbitrary code via the python exec calls in

CVE-2025-2828 CRITICAL POC
10.0 Jun 23

A remote code execution vulnerability in langchain-ai/langchain (CVSS 10.0). Risk factors: public PoC available. Vendor

CVE-2024-8309 CRITICAL POC
9.8 Oct 29

A vulnerability in the GraphCypherQAChain class of langchain-ai/langchain version 0.2.5 allows for SQL injection through

CVE-2024-7042 CRITICAL POC
9.8 Oct 29

A vulnerability in the GraphCypherQAChain class of langchain-ai/langchainjs versions 0.2.5 and all versions with this cl

CVE-2024-46946 CRITICAL POC
9.8 Sep 19

langchain_experimental (aka LangChain Experimental) 0.1.17 through 0.3.0 for LangChain allows attackers to execute arbit

CVE-2024-2057 CRITICAL POC
9.8 Mar 01

A vulnerability was found in LangChain langchain_community 0.0.26. Rated critical severity (CVSS 9.8), this vulnerabilit

CVE-2023-39631 CRITICAL POC
9.8 Sep 01

An issue in LanChain-ai Langchain v.0.0.245 allows a remote attacker to execute arbitrary code via the evaluate function

CVE-2023-36281 CRITICAL POC
9.8 Aug 22

An issue in langchain v.0.0.171 allows a remote attacker to execute arbitrary code via a JSON file to load_prompt. Rated

CVE-2023-39659 CRITICAL POC
9.8 Aug 15

An issue in langchain langchain-ai v.0.0.232 and before allows a remote attacker to execute arbitrary code via a crafted

CVE-2023-38896 CRITICAL POC
9.8 Aug 15

An issue in Harrison Chase langchain v.0.0.194 and before allows a remote attacker to execute arbitrary code via the fro

CVE-2023-38860 CRITICAL POC
9.8 Aug 15

An issue in LangChain v.0.0.231 allows a remote attacker to execute arbitrary code via the prompt parameter. Rated criti

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy