Description
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.
Published: 2026-10-22
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: Graph data loss and unauthorized modification
Action: Immediate Patch
AI Analysis

Impact

The vulnerability resides in the _escape() helper of flexible-graphrag, which incorrectly escapes quotes before backslashes, causing injected strings to terminate early. This leads to Cypher injection where attacker-controlled document content can be turned into executable Cypher clauses. The injected clauses can modify or delete graph objects and expose data if query results are returned to users or LLMs. The weakness is an instance of broken string escaping and unsafe query construction.

Affected Systems

The issue affects stevereiner flexible-graphrag versions 0.6.0 through 0.8.2 when configured with GRAPH_BACKEND=langchain and GRAPH_DB=falkordb. The LlamaIndex FalkorDB store is not affected. Any deployment using the falkordb_adapter.py component in the vulnerable version range is at risk.

Risk and Exploitability

With a CVSS score of 7.1, the vulnerability presents moderate to high severity. No EPSS data is available, and it is not listed in the KEV catalog. Attackers who can influence the content of ingested documents—potentially via external data feeds or API calls—can exploit the injection flaw. The attack vector is inferred to be remote or local through data ingestion channels; the exploit requires the ability to supply document content that contains malicious Cypher. Successful exploitation could result in data loss, unauthorized modification, and disclosure of graph data.

Generated by OpenCVE AI on October 22, 2026 at 16:19 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade flexible-graphrag to version 0.8.2 or later, where the escape logic is corrected.
  • If upgrade is not immediately possible, ensure that only trusted data is sent to the ingestion process and consider disabling or restricting external data feeds.
  • Prefer the LlamaIndex FalkorDB store as a temporary workaround when using the falkordb adapter is infeasible.

Generated by OpenCVE AI on October 22, 2026 at 16:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 22 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Flexible GraphRAG: Cypher/Graph Injection via broken string-escaping in FalkorDB adapter (_escape()) - full graph wipe from ingested-document content
Weaknesses CWE-116
CWE-943
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-22T14:46:52.353Z

Reserved: 2026-10-21T16:15:06.492Z

Link: CVE-2026-114510

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-22T15:17:05.500

Modified: 2026-10-22T15:17:05.500

Link: CVE-2026-114510

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T16:30:08Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output

  • CWE-943

    Improper Neutralization of Special Elements in Data Query Logic