A workspace writer could redirect a previously checked Claude Code edit outside the project by replacing its target with a symlink before the write occurred. Anthropic's advisory identifies CVE-2026-103435, affects versions before 2.1.129 and requires the attacker to win a local timing race. Claude Code checked whether the proposed target lay inside the…
Inspect the ClaimsCase · DiggingBeagle record
Claude Code write-time symlink race escaped the project path
Anthropic disclosed a TOCTOU flaw in Claude Code before 2.1.129 where a workspace writer could replace a checked project path with a symlink and redirect the eventual write outside the project.
Local project-write vulnerability disclosed October 5, 2026, affecting Claude Code versions before 2.1.129.
Assessment profile
Assessment method- Exploitation
- not established
- Remediation
- patch available
- AI role
- AGAINST AI
Basis and provenance
The vendor advisory confirms CVE-2026-103435, the workspace-write/race prerequisites and patched version 2.1.129. No operational victim evidence or independent retest is present. Primary passages were inspected in this review, but the pinned contract supplies no grading rubric for A-D or the numeric impact bands; both remain ungraded. This is a source review, not an independent reproduction.
Assessed Oct 13, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-R4-CLAUDE-SYMLINK-1 · CLM-R4-CLAUDE-SYMLINK-2 · CLM-R4-CLAUDE-SYMLINK-3 · Anthropic Claude Code advisory GHSA-5j29-h97v-84ch
At a glance
Permission decisions about files must remain bound to the same object at write time despite symlink and filesystem changes.
Read the implicationsNo confirmed in-the-wild exploitation is reported by the advisory. Exactly which previously authorized project writes were targeted depends on attacker workspace access and race timing.
Limits and uncertaintyFull account
A workspace writer could redirect a previously checked Claude Code edit outside the project by replacing its target with a symlink before the write occurred. Anthropic's advisory identifies CVE-2026-103435, affects versions before 2.1.129 and requires the attacker to win a local timing race.
Claude Code checked whether the proposed target lay inside the project when it evaluated permission. It later resolved the path again during the write. If a different process changed what that path referred to between those operations, the earlier decision no longer described the actual destination. The resulting write used the agent session's available privileges, which could exceed those of the attacker modifying the shared workspace.
The missing protection was continuity between the checked object and the object ultimately written. A legitimate request to edit a project file could therefore produce an unintended filesystem effect without a malicious model instruction. This differs from an anonymous remote takeover: the advisory requires shared-workspace write access as well as favorable timing, and does not report a confirmed victim or damaged file.
Anthropic lists 2.1.129 as the patched version and says standard auto-update users had received the correction. That vendor statement establishes a released repair, not verification that every installation has upgraded. The case illustrates why a permission check must remain valid when the filesystem action takes place.
Mechanism and trust boundary
- 01
Checked project edit
Claude Code approves a target inside the working directory at permission-check time.
Boundary: The approval is attached to the earlier path resolution.
- 02
Workspace race
An attacker with workspace write access atomically substitutes a symlink before the actual write.
Boundary: Path identity changes after approval; exploitation also requires winning the race.
- 03
Redirected write
The later resolution follows the symlink outside the project, using the writing session's permissions.
Boundary: A benign edit may affect a file outside the originally approved boundary.
Timeline
- Oct 5, 2026disclosure
Public disclosure
Claims & evidence
CLM-R4-CLAUDE-SYMLINK-1Anthropic disclosed a TOCTOU flaw in Claude Code before 2.1.129 where a workspace writer could replace a checked project path with a symlink and redirect the eventual write outside the project.supported
Basis: reported finding
- supportsAnthropic Claude Code advisory GHSA-5j29-h97v-84chprimary disclosure
GitHub security advisory, Description and Affected versions.
CLM-R4-CLAUDE-SYMLINK-2Anthropic lists 2.1.129 as the patched version for GHSA-5j29-h97v-84ch.supported
Basis: reported finding
- supportsAnthropic Claude Code advisory GHSA-5j29-h97v-84chprimary disclosure
GitHub advisory, Patched versions.
CLM-R4-CLAUDE-SYMLINK-3The advisory identifies CVE-2026-103435 and requires both attacker write access to the shared workspace and winning a write-time race. Anthropic says standard auto-update users had already received the fix.supported
Basis: reported finding
- supportsAnthropic Claude Code advisory GHSA-5j29-h97v-84chprimary disclosure
Description; CVE ID; Affected versions and Patched versions.
Implications
Permission decisions about files must remain bound to the same object at write time despite symlink and filesystem changes.
Controls and mitigations
- Use Claude Code 2.1.129 or later. The vendor reports delivery through standard auto-update, but the active version still determines whether a manually managed installation is covered.
Unknowns and contradictions
- No confirmed in-the-wild exploitation is reported by the advisory.
- Exactly which previously authorized project writes were targeted depends on attacker workspace access and race timing.
Sources and citation
Material revision history
- Oct 13, 2026 · Published version · first publication · revision 141