High (AgentArmorHQ estimate)Code execution

Flexible GraphRAG: Cypher/Graph Injection via broken string-escaping in FalkorDB adapter (_escape()) - full graph wipe from ingested-document content

Product
Flexible GraphRAG
CVE
CVE-2026-114510
Affected
flexible-graphrag >= 0.6.0, < 0.8.2
Fixed in
0.8.2

Last verified against sources: October 27, 2026

Am I affected?

Flexible GraphRAG: affected flexible-graphrag >= 0.6.0, < 0.8.2. Fixed in 0.8.2.

  • Check your version: run pip show flexible-graphrag. Versions >= 0.6.0, < 0.8.2 of flexible-graphrag are affected. [1]

What to do now

  1. Upgrade to the fixed version: run pip install --upgrade "flexible-graphrag>=0.8.2" (first patched version 0.8.2). [1]
  2. Workaround before upgrading: use GRAPH_BACKEND=llamaindex with FalkorDB, or another graph database. [1]

General practice, not from the source: if the affected software could read tokens or credentials, rotate them after upgrading; pin versions and review changes before updating tools your agents run.

Discuss this incident

What happened

  • The escaping order is backwards, exactly like the classic HTML double-escape bug. [1]
  • node/rel objects are LLM-extracted entities and relationships derived from ingested document content (the whole point of this GraphRAG pipeline). [1]
  • Affected configuration: GRAPH_BACKEND=langchain with GRAPH_DB=falkordb only. [1]

Impact

  • Full Cypher clause injection into lc_graph.query() calls that run with no query parameterization and no read-only restriction visible in this adapter. [1]
  • Appending a second clause (MATCH (m) DETACH DELETE m) to the query wipes every node and relationship in the graph in a single call. [1]
  • The same primitive can be adapted to exfiltrate data (e.g. RETURN other nodes' properties back through a field the caller reads) or tamper with existing records, depending on what the calling code surfaces to the end user/LLM. [1]

What was done

  • Fixed in 0.8.2: values are passed as query parameters and labels/relationship types/property keys are stripped of backticks. [1]
  • Maintainer note: confirmed exploitable against a live FalkorDB. [1]
  • FalkorDB requires a WITH between MERGE and MATCH, so the payload needs "WITH 1 AS x" added; with it, the payload deleted every node in the graph. [1]

Sources

  1. GHSA-vqrg-773h-4wxc — GitHub Advisory Database

Every statement above was checked against these sources before publishing. Spotted an error? Tell us and we will correct it with a dated note.

Share advisory brief with your team

Copy a plain-text summary for Slack, GitHub issues, or team security channels.

Brief
[CVE-2026-114510] Flexible GraphRAG: Cypher/Graph Injection via broken string-escaping in FalkorDB adapter (_escape()) - full graph wipe from ingested-document content
Product: Flexible GraphRAG | Affected: flexible-graphrag >= 0.6.0, < 0.8.2 | Fixed in: 0.8.2
Summary: The escaping order is backwards, exactly like the classic HTML double-escape bug.
Source & remediation on AgentArmorHQ: https://agentarmorhq.com/incidents/2026/10/cve-2026-114510-flexible-graphrag
Was this page useful?

Corrections

Report an error or request a correction. We review requests within 5 business days and add a dated correction note.

10 to 2,000 characters. A link to a source helps. Stored as plain text.

Discussions for CVE-2026-114510

Ask questions or share configuration tips. Governed by our Community Rules & Terms.

No posts match this filter yet.

Be the first to ask a question or share a working tip.

Check before you install

Paste a package name or a GitHub link and get a clear answer in seconds: Block, Review or No known issues. No account needed.

Check a package

Questions? Contact us