GHSA-85gg-2gfq-q95m: Code Graph RAG structural tools follow out-of-root symlinks
Code Graph RAG is an AI-powered knowledge graph and retrieval system for querying, understanding, and editing multi-language codebases. Prior to 0.0.589, AstGrepService in codebaserag/tools/astgrepservice.py enumerates files beneath projectroot and relies on shouldskippath in codebaserag/utils/pathutils.py to classify them, but the containment check operates on unresolved lexical paths. A symbolic link planted inside an analyzed repository can therefore reference a file outside the configured root while still appearing in scope. The structuralsearch tool follows the link and discloses readable content without an approval gate, while structuralreplace with dryrun=False follows it and overwrites writable content; the MCP path invokes structural replacement without the agent-loop approval control. An attacker who causes a victim to analyze a repository containing such a link can read credentials, keys, environment files, or sibling source and can modify files accessible to the code-graph-rag process. This issue is fixed in version 0.0.589.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Code Graph RAGto a version that resolves this vulnerability.Fixed in 0.0.589