Skip to main content

Claude Code CVE-2026-88968

| EUVDEUVD-2026-116209 HIGH
Improper Link Resolution Before File Access (CWE-59)
2026-11-03 security-advisories@github.com
7.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver malicious repository or dependency script
  2. Delivery
    User runs Claude Code on macOS
  3. Exploit
    Attacker code executes in Bash sandbox
  4. Execution
    Swap validated parent dir with symlink (TOCTOU)
  5. Impact
    Edit follows symlink, overwrites file outside workspace

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Exploitation requires all of: a macOS host; a Claude Code version earlier than 2.1.251; attacker-controlled code already executing inside Claude Code's Bash sandbox (delivered via a malicious repository or a dependency/install script); the user invoking the Edit tool against an in-workspace path (the UI:P/user-interaction element); and successfully winning the TOCTOU race by atomically replacing the just-validated in-workspace parent directory with a symlink before the unsandboxed Edit write occurs. Limiting factors that reduce real-world risk: it is macOS-only, it presupposes the attacker has already achieved code execution within the sandbox, the overwrite is confined to user-writable files, and it depends on reliably winning a timing window rather than a deterministic single-shot trigger.

Impact

This is a genuine but conditional integrity risk rather than a broad remote threat. The vendor-supplied CVSS 4.0 vector scores 7.7 (High) with AV:N/AC:L/AT:P/PR:N/UI:P and VC:H/VI:H/VA:H, but the mechanism described contradicts a pure network-vector reading: exploitation explicitly requires 'attacker-controlled code to run inside the sandbox,' which is a local code-execution precondition, so the AV:N label likely reflects the malicious-repository delivery path rather than the point of exploitation - verify intent with the vendor. The AT:P (attack-requirements present) metric is grounded in evidence: the GHSA advisory (CWE-367) confirms this is a TOCTOU race requiring the attacker to atomically swap an in-workspace parent directory with a symlink within the time-of-check-to-time-of-use window, so the 'low complexity' feel is offset by the need to win a race. No EPSS score, no CISA KEV listing, and no public exploit reference were provided; the issue was reported privately via HackerOne (Sunder Singh / mahoraga007), so there is no evidence of in-the-wild or widespread exploitation. The vuln.today priority is 'this_week' (not act_now/emergency), consistent with a serious sandbox-escape primitive that nonetheless depends on a non-trivial local foothold and is confined to macOS. Net: a real priority to patch for macOS users of affected versions, but not a mass-exploitation emergency.

Exploit ScenarioDerived

A developer on macOS opens or runs a malicious repository (or a dependency install/script) under an affected Claude Code version; the attacker's code, executing inside the Bash sandbox, waits for the Edit tool to validate a target path and then atomically replaces a just-validated in-workspace parent directory with a symlink. The unsandboxed Edit implementation then follows the symlink and overwrites an attacker-chosen user-writable file outside the workspace, which can be leveraged (e.g., overwriting a shell rc file) toward broader code execution. No public exploit was identified at time of analysis; the flaw was reported privately through HackerOne.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

A time-of-check to time-of-use race in Claude Code's Edit tool before version 2.1.251 allows attacker-controlled code already running inside the macOS Bash sandbox to swap a validated in-workspace parent directory for a symlink, causing the unsandboxed Edit implementation to overwrite an attacker-chosen user-writable file outside the workspace. This is a genuine but conditional integrity risk rather than a broad remote threat: it is macOS-only, presupposes the attacker has already achieved code execution inside the sandbox via a malicious repository or dependency script, requires the user to invoke Edit on an in-workspace path, and depends on reliably winning a timing window rather than a deterministic single-shot trigger. The flaw was fixed in 2.1.251, and auto-update users have already received it; no public exploit code was identified at time of analysis.

RemediationAI

Vendor-released patch: Claude Code 2.1.251. Update the @anthropic-ai/claude-code package to 2.1.251 or later; users on standard Claude Code auto-update have received this fix automatically, while users performing manual updates are advised to update to the latest version. If an immediate upgrade is not possible, the practical exposure reduction is to avoid running Claude Code with the Bash sandbox on untrusted repositories or dependency/install scripts that execute attacker-influenced code, and to avoid invoking Edit on workspace paths while such code is executing; both trade off functionality and do not fully eliminate the race, so upgrading remains the complete fix per the vendor advisory. Untrusted plugin marketplaces and symlinked search paths should likewise be avoided on older builds. Advisory and release references: https://github.com/anthropics/claude-code/security/advisories/GHSA-5xjx-9qx6-jcrv and https://github.com/anthropics/claude-code/releases/tag/v2.1.251.

Affected VersionsENISA

claude-code < 2.1.251

Affected Packages

euvd claude_code fix: 2.1.251

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue combines CWE-59 (link following) with CWE-367 (time-of-check to time-of-use). Claude Code's Edit tool validated target paths using point-in-time pathname and symlink resolution that was not bound to the underlying directory inode or file descriptor, so the validated path and the path actually used for the write could diverge. On macOS, a process in the Bash sandbox can atomically replace the just-validated in-workspace parent directory with a symlink during that window, and the unsandboxed Edit write then lands on a user-writable file outside the workspace. The trigger is a race between directory validation and the subsequent write, which is why the assessed vector is AC:H with UI:R while scope remains unchanged, confidentiality impact is limited, and integrity/availability impact is high. The upstream fix in 2.1.251 bound file tools to the validated object and also tightened adjacent path-handling issues: symlink swaps inside the working directory for Read, Write and Edit; plugin commands pointing outside the plugin directory; Grep and Glob failing to apply Read(...) deny rules through symlinked search paths; and a Workflow tool scriptPath read before the permission check.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 7.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Requires local code execution inside the sandbox (AV:L) and winning a TOCTOU race (AC:H); attacker supplies the repo but the user must run Claude Code (PR:N/UI:R); primary impact is arbitrary file overwrite (I:H/A:H), confidentiality only indirect (C:L).

3.1 AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:N/UI:P/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 03, 2026 - 21:03 EUVD
CVE Published
Nov 03, 2026 - 20:18 cve.org
HIGH 7.7

DescriptionCVE.org

Claude Code is an agentic coding tool. Prior to 2.1.251, the Edit tool validates a target using pathname and symlink resolution that is not bound to the underlying directory inode or file descriptor. On macOS, attacker-controlled code running in the Bash sandbox can atomically replace an in-workspace parent directory with a symlink after validation, causing the unsandboxed Edit implementation to overwrite a user-writable file outside the workspace. Exploitation requires attacker-controlled code to run inside the sandbox, such as from a malicious repository or dependency script. This issue is fixed in version 2.1.251.

Technical POC Analysis

The bug is CWE-59 (Improper Link Resolution Before File Access) exploited through CWE-367 (TOCTOU race), in the Edit tool of the npm package @anthropic-ai/claude-code.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity integrity vulnerability in Anthropic's Claude Code (before version 2.1.251) on macOS could allow an attacker who already has code execution inside the tool's Bash sandbox to overwrite user-writable files outside the workspace through a timing attack on the Edit tool. While exploitation is conditional and requires pre-existing compromise, the risk is elevated for development teams using Claude Code on macOS with untrusted repositories or dependencies, as it could lead to data tampering or further compromise. Leadership should prioritize patching to close this privilege escalation path and reduce exposure from malicious code that may already be present.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis

Threat Intelligence Overview

Prevalence
Medium
popular AI coding CLI, developer-only tool, macOS-specific flaw
Data Quality
4 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy