Cortex has Untrusted Project Bootstrap Code Execution via `CLAUDE_PROJECT_DIR`
Date: 2026-07
Affected: pip/neuro-cortex-memory
Attack vector: rce
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2026-49986
CWE: CWE-829

## Untrusted Project Bootstrap Code Execution via `CLAUDE_PROJECT_DIR` ### Summary The Cortex MCP server (`neuro-cortex-memory`) treats the `CLAUDE_PROJECT_DIR` environment variable — automatically set by Claude Code to the currently open project directory — as a trusted Cortex developer checkout. When the `open_visualization` tool is invoked, `_find_dev_source()` resolves the user's active project directory as a candidate Cortex source root. The only validation performed by `_is_cortex_root()` is a check for the presence of an `mcp_server/` subdirectory and a `ui/unified-viz.html` file. An attacker who places these two marker files in a malicious repository can cause Cortex to execute an arbitrary `mcp_server/server/visualize_bootstrap.py` from that directory via `subprocess.run([sys.executable, ...])`, achieving code execution with the privileges of the victim's local user process. CVSS v3.1 Base Score: **7.8 (High)**. ### Details The vulnerability originates in `_find_dev_source()` inside `mcp_server/handlers/open_visualization.py`. The function builds a list of candidate directories by iterating over the environment variables `CORTEX_DEV_ROOT` and `CLAUDE_PROJECT_DIR`: ```python # mcp_server/handlers/open_visualization.py:73-76 for env in ("CORTEX_DEV_ROOT", "CLAUDE_PROJECT_DIR"): v = os.environ.get(env) if v: candidates.append(Path(v)) ``` `CLAUDE_PROJECT_DIR` is set automatically by the Claude Code IDE extension to whichever directory the user has


Mitigations:

Architectural layers (MAESTRO):