{"metadata": {"vulnerability": "CVE-2026-87008", "count": 10, "kinds": {"milestone": 3, "sighting": 1, "kev": 0, "other": 6}}, "data": [{"timestamp": "2026-09-08T16:44:23.782Z", "date_only": false, "value": "2026-09-08T16:44:23.782Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-87008", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-11-05T20:13:23.276Z", "date_only": false, "value": "2026-11-05T20:13:23.276Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-87008", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-11-05T20:13:23.276Z", "date_only": false, "value": "2026-11-05T20:13:23.276Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / GitHub_M", "record": "CVE-2026-87008", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-11-05T20:23:16.025Z", "date_only": false, "value": "2026-11-05T20:23:16.025934Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117565698576261530", "record": "CVE-2026-87008", "field": "creation_timestamp", "uuid": "33bca229-a334-4269-a129-2d52b2a872a6", "content": "CVE-2026-87008 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 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.\nhttps://www.cve.org/CVERecord?id=CVE-2026-87008https://github.com/vitali87/code-graph-rag/security/advisories/GHSA-85gg-2gfq-q95mhttps://github.com/vitali87/code-graph-rag/commit/2648c95aa550ce2d9361a8e75ed669d5f4b451b8https://github.com/vitali87/code-graph-rag/releases/tag/v0.0.589#vitali87 #code-graph-rag#CVE_2026_87008#bot", "url": "https://infosec.exchange/users/cve/statuses/117565698576261530"}, {"timestamp": "2026-11-05T21:03:34.665Z", "date_only": false, "value": "2026-11-05T21:03:34.665618Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-87008", "field": "containers.adp.0.metrics.0.other.content.timestamp"}, {"timestamp": "2026-11-05T21:03:34.665Z", "date_only": false, "value": "2026-11-05T21:03:34.665618Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-87008", "record": "FKIE_CVE-2026-87008", "field": "metrics.ssvcV203.0.ssvcData.timestamp", "linked_record": true}, {"timestamp": "2026-11-05T21:03:52.501Z", "date_only": false, "value": "2026-11-05T21:03:52.501Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-87008", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-11-05T21:03:52.501Z", "date_only": false, "value": "2026-11-05T21:03:52.501Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-87008", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-11-05T21:18:54.370Z", "date_only": false, "value": "2026-11-05T21:18:54.370", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-87008", "record": "FKIE_CVE-2026-87008", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-11-05T21:18:54.370Z", "date_only": false, "value": "2026-11-05T21:18:54.370", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-87008", "record": "FKIE_CVE-2026-87008", "field": "lastModified", "linked_record": true}], "metrics": {"as_of": "2026-11-07T23:29:05.885Z", "anchors": {"origin": {"timestamp": "2026-11-05T20:13:23.276Z", "date_only": false, "value": "2026-11-05T20:13:23.276Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-87008", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-11-05T20:13:23.276Z", "date_only": false, "value": "2026-11-05T20:13:23.276Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-87008", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 184542.609011, "hours": 51.26183583638889, "days": 2.1359098265162038, "min_seconds": 184542.609011, "max_seconds": 184542.609011, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-11-05T20:13:23.276Z", "date_only": false, "value": "2026-11-05T20:13:23.276Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-87008", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-07T23:29:05.885Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
