Code Graph RAG tools follow symlinks outside the project root
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
Code Graph RAG before 0.0.589 checks whether files lie inside the project root using unresolved paths, so a symbolic link in an analyzed repository can point to files outside the root (CWE-22). An attacker who gets a victim to analyze such a repository can read credentials, keys, environment files or sibling source through the structural_search tool, and can overwrite writable files through structural_replace with dry_run=False. The MCP path runs structural replacement without the agent-loop approval control.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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 codebase_rag/tools/ast_grep_service.py enumerates files beneath project_root and relies on should_skip_path in codebase_rag/utils/path_utils.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 structural_search tool follows the link and discloses readable content without an approval gate, while structural_replace with dry_run=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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Update code-graph-rag from vitali87 to version 0.0.589, which fixes the issue. No other fixed version is listed.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA code-graph-rag (vitali87) Fixed in 0.0.589
Vendor assessments
Timeline
- 2026-11-05 Threatist record created from CVE-2026-87008
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
- 2026-11-07 Priority changed: MEDIUM → LOW
References
More vitali87 vulnerabilities
- TI-2026-85643 Path traversal in Code Graph RAG MCP lets attackers read files CVSS 3.1HIGH 7.5
Sources
- CVE-2026-87008 · CVE Program
- CVE-2026-87008 · NVD
- FIRST EPSS
- CVE-2026-87008 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences