CVE-2026-103435: Claude Code could follow a swapped-in symlink and write outside the project
Summary
Anthropic published advisory GHSA-5j29-h97v-84ch for Claude Code. When Claude Code asked permission to edit a file, it checked that the path was inside the project folder, but it looked the path up again when it wrote the file and did not repeat the check. Someone who could write to the same workspace could swap that file for a symlink in between, so the edit landed on a file outside the project, such as a shell configuration file. Claude Code 2.1.129 fixes it, and Anthropic says standard auto-update users already have the fix.
Severity
Timeline
Claude Code 2.1.129 is released on GitHub. Anthropic's advisory lists it as the patched version.
Anthropic publishes GHSA-5j29-h97v-84ch for @anthropic-ai/claude-code: versions before 2.1.129 affected.
NVD publishes CVE-2026-103435.
How it happened
This is a time-of-check to time-of-use (TOCTOU) bug. The permission check and the write each resolved the file path on their own, so a symlink created between the two sent the write somewhere the check never approved. Anthropic describes the realistic case as a lower-privileged user with write access to a shared workspace redirecting harmless edits in a higher-privileged user's session, for example into shell configuration. Anthropic lists CWE-22, CWE-61 and CWE-367, and NVD lists CWE-22. Anthropic credits the HackerOne user c_h4ck_0 with the report.
How to check your app
- Run claude --version and make sure you are on 2.1.129 or later.
- Be careful running Claude Code in folders that other users or processes can write to, such as a shared server directory.
- If you ran an older version in a shared workspace, look over files outside the project it could have written to, such as ~/.bashrc or ~/.zshrc.