Fetching from the wire…
Public story · 2026-08-10 · high
GitHub scored the bug CVSS 7.1, and this is code-graph-rag's second path-handling advisory, per its GitHub record.
Why now: The v0.0.589 patch closing the hole shipped at 00:20 UTC on August 10, per the GitHub advisory.
A planted symlink let code-graph-rag read or overwrite files outside a repo's root, per a GitHub security advisory patched August 10.
GitHub scored the flaw CVSS 7.1. Both vulnerable functions are exposed as MCP tools and agent tools, so an AI agent pointed at an untrusted repository inherited the exposure.
AstGrepService checked path containment on the raw, unresolved path. It never called Path.is_symlink() or .resolve(), so a symlink pointing outside the project directory passed the check.
structural_search could then read arbitrary files through the planted link. structural_replace, called with dry_run=False, could overwrite them.
The fix shipped in v0.0.589 at 00:20 UTC on August 10, per GHSA-85gg-2gfq-q95m. Every version at or before 0.0.588 is affected. GitHub's advisory record shows this is the project's second path-handling advisory.
Upgrade to v0.0.589 if you run code-graph-rag against repositories you don't fully control. That risk is sharper through an MCP client, where an agent might point the tool at an untrusted repo on its own.
The advisory doesn't say whether GitHub audited code-graph-rag's other file-handling tools for the same unresolved-path pattern. Treat this as one instance found, not a guarantee the rest are clean.
Each link below shares sources, entities, or timing with this story.
Claude Code uses MCP / Shared entity: MCP / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code uses MCP); both cover MCP; reported by the same outlet (github.com).
Claude uses MCP / Shared entities / Same source domain / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover CVSS, MCP; reported by the same outlet (github.com).
Claude uses MCP / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover CVSS, MCP; overlapping topics (agent, tool).
Armature uses MCP / Shared entity: MCP / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (Armature uses MCP); both cover MCP; overlapping topics (agent, call, tool).
OWASP released MCP / Shared entities / Same source domain / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (OWASP released MCP); both cover CVSS, MCP; reported by the same outlet (github.com).
Microsoft supports MCP / Shared entity: MCP / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Microsoft supports MCP); both cover MCP; reported by the same outlet (github.com).
Anthropic released MCP / Shared entity: MCP / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Anthropic released MCP); both cover MCP; reported by the same outlet (github.com).
Claude Code uses MCP / Shared entity: MCP / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code uses MCP); both cover MCP; reported by the same outlet (github.com).