Skip to main content

Flexible GraphRAG CVE-2026-114510

| EUVDEUVD-2026-108207 HIGH
Improper Encoding or Escaping of Output (CWE-116)
2026-10-22 GitHub_M GHSA-vqrg-773h-4wxc
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious document content
  2. Delivery
    Submit document for ingestion
  3. Exploit
    LLM extraction emits payload value
  4. Execution
    Broken _escape injects Cypher clause
  5. Impact
    DETACH DELETE wipes or exfiltrates graph

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding for downstream
Exploitation Conditions

Exploitable only when the application runs GRAPH_BACKEND=langchain together with GRAPH_DB=falkordb; the LlamaIndex FalkorDB store is explicitly not affected, and other backends are not in scope. The attacker must get a crafted document ingested into the GraphRAG pipeline and must steer the extraction LLM into producing an entity/relationship id (or node/relationship type) value containing a Cypher payload, which the backwards-ordered _escape() helper then fails to neutralize (it escapes quotes before backslashes, doubling the inserted backslash so the quote terminates the string). Data disclosure specifically requires that the calling code surfaces query results back to the user or LLM; data modification and full-graph deletion do not. Limiting factors that lower real-world risk: the non-default backend configuration, the need for a user/pipeline to actually ingest the attacker's document (UI:R), and the inherent unreliability of indirect prompt injection reliably emitting the exact payload (AC:H). Workaround before upgrading, per the vendor: switch to GRAPH_BACKEND=llamaindex with FalkorDB or use another graph database; the complete fix is upgrading to 0.8.2.

Impact

Signals are moderately consistent and point to a real but conditional priority rather than an emergency. The NVD CVSS 3.1 vector (7.1, AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H) treats this as network-reachable but gated by high attack complexity, some privilege, and required user interaction, whereas the GHSA advisory proposes a far higher ~9.0 score using AC:L/PR:N/UI:N - these two scorings conflict materially on complexity, privilege, and interaction, and the NVD vector is the better fit because exploitation depends on steering an LLM extraction step and on a non-default backend configuration. No EPSS score and no KEV listing were provided, so there is no evidence of widespread or active in-the-wild exploitation; absence of EPSS also prevents a probabilistic exploitation estimate. However, exploitation is not merely theoretical: the GHSA contains an executed string-reconstruction PoC and the maintainer explicitly confirmed a working full-graph deletion against a live FalkorDB instance (with a 'WITH 1 AS x' clause added). Technical impact is total (graph data modification, deletion via DETACH DELETE, and disclosure when results are surfaced), but 'automatable' is weak because the chain relies on indirect prompt injection reliably producing a specific payload. The vuln.today decision label 'this_week' aligns with this picture - a confirmed-exploitable, high-impact flaw in a niche product that warrants prompt patching but is not a mass-exploitation emergency.

Exploit ScenarioDerived

An attacker plants a document whose text steers the GraphRAG extraction model into emitting an entity id or relationship value containing a Cypher payload (e.g. a trailing quote plus 'WITH 1 AS x MATCH (m) DETACH DELETE m'); when that document is ingested, the broken _escape() helper fails to neutralize the quote and the payload executes as live Cypher. A maintainer-confirmed PoC used this to delete every node in the graph against a live FalkorDB instance; the same primitive can tamper with or exfiltrate graph data when query results are surfaced to the user or LLM. The chain requires getting a document ingested (UI:R) and the non-default GRAPH_BACKEND=langchain plus GRAPH_DB=falkordb configuration, consistent with AC:H.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 22, 2026

Cypher injection in Flexible GraphRAG 0.6.0 through 0.8.1 lets attacker-influenced document content reach FalkorDB queries when GRAPH_BACKEND=langchain and GRAPH_DB=falkordb are configured. A crafted ingested document can steer the extraction model into producing malicious entity or relationship values, and the broken _escape() helper fails to neutralize a quote, allowing injected Cypher clauses to modify or delete graph data and, if the calling code surfaces query results to the user or LLM, disclose graph data. The assessed vector is CVSS 3.1 7.1 with AC:H, PR:L and UI:R; the maintainer demonstrated a proof-of-concept against a live FalkorDB instance that deleted every node, and the vendor released 0.8.2 with parameterized queries and backtick stripping.

RemediationAI

Vendor-released patch: upgrade flexible-graphrag to 0.8.2, which passes values as query parameters and strips backticks from labels, relationship types and property keys. The package range is vulnerable from 0.6.0 up to but not including 0.8.2. Before upgrading, the vendor-specified workaround is to use GRAPH_BACKEND=llamaindex with FalkorDB or to use another graph database; this removes exposure by avoiding the affected LangChain FalkorDB adapter, but changes the deployment configuration. The vendor states the complete fix is upgrading to 0.8.2. As a side effect of the fix, entities containing an apostrophe, which were previously dropped, are now stored. Advisory and release details are at https://github.com/stevereiner/flexible-graphrag/security/advisories/GHSA-vqrg-773h-4wxc and https://github.com/stevereiner/flexible-graphrag/releases/tag/v0.8.2.

Affected VersionsENISA

flexible-graphrag 0.6.0, < 0.8.2

Affected Packages

pypi flexible-graphrag fix: 0.8.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is the LangChain FalkorDB adapter in the Python flexible-graphrag framework, specifically FalkorDBAdapter.add_graph_documents in flexible-graphrag/langchain/graph/pg_store_adapters/falkordb_adapter.py. The root cause is CWE-116 improper encoding/escaping, manifesting as CWE-943 improper neutralization in data query logic: the _escape() helper escapes single quotes before backslashes, so the backslash it inserts before a quote is then doubled, and a trailing quote can terminate the Cypher string literal early. The escaped values are interpolated into Cypher assembled with string formatting at multiple call sites rather than passed as query parameters, and node.type, relationship source/target types and relationship type identifiers are inserted into backtick-quoted positions without escaping. The input reaches this layer as LLM-extracted entities and relationships derived from ingested document content, making this an indirect-prompt-injection-to-query-injection chain. Only the LangChain FalkorDB configuration is affected; the LlamaIndex FalkorDB store is explicitly not affected, and the fix in 0.8.2 passes values as query parameters and strips backticks from labels, relationship types and property keys. The same escape-order mistake was also fixed in the ArangoDB, NebulaGraph and Milvus delete filters, which were keyed on document paths and assessed as lower risk.

Know when Flexible Graphrag 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 7.1 HIGH
AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.1 HIGH

AC:H and UI:R because success depends on steering the LLM extraction and on a document being ingested under a non-default config; PR:L for submit access; C/I/A:H from graph disclosure, tampering, and full DETACH DELETE.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 22, 2026 - 16:02 EUVD
CVE Published
Oct 22, 2026 - 14:46 cve.org
HIGH 7.1

DescriptionCVE.org

Flexible GraphRAG is a Python framework for building graph and retrieval-augmented generation applications across multiple graph, vector, and search backends. From 0.6.0 until 0.8.2, the _escape() helper in flexible-graphrag/langchain/graph/pg_store_adapters/falkordb_adapter.py escapes quotes before backslashes and then interpolates the result into Cypher assembled by FalkorDBAdapter.add_graph_documents, allowing an inserted escape to be doubled and a quote to terminate the string early. When GRAPH_BACKEND=langchain and GRAPH_DB=falkordb are configured, attacker-influenced ingested document content can cause the extraction model to produce malicious entity or relationship values that reach these queries, allowing injected Cypher clauses to modify or delete graph data and, when the calling code surfaces query results to the user or LLM, disclose graph data. Dynamic node and relationship type identifiers are also inserted into backtick-quoted query positions without safe parameterization. The LlamaIndex FalkorDB store is not affected. This issue is fixed in version 0.8.2.

Technical POC Analysis

CWE-116 (Improper Encoding/Escaping of Output); the advisory also maps it to CWE-943 and generalized CWE-89.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-114510 is a high-severity Cypher injection vulnerability in Flexible GraphRAG versions 0.6.0 through 0.8.1, enabling an attacker who can supply malicious documents to manipulate or delete graph data and potentially disclose sensitive information when the FalkorDB backend is used. The issue affects integrity and confidentiality of knowledge graphs, which can undermine trust in AI-driven insights and lead to data loss or exposure.

Business Impact: High
Compensating Controls

Apply vendor patch: upgrade to Flexible GraphRAG 0.8.2. If immediate upgrade is not possible, restrict document ingestion to trusted sources, enforce strict input validation on document content, and monitor FalkorDB query logs for suspicious injection patterns.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche single-maintainer open-source GraphRAG framework, small deployment footprint
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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