STUPID-2026-0090
Claude Code loaded managed config from a world-writable Windows path, enabling local privilege escalation (CVE-2026-35603)
Instruction given
N/A — this is a flaw in Claude Code's own startup configuration loading on Windows, not a task given to the agent by a user.
Expected behavior
System-wide managed settings should load only from an admin-controlled, write-protected location, so an unprivileged local user cannot influence what configuration or hooks execute in another user's session.
Actual behavior
Claude Code loaded managed-settings.json from C:\ProgramData\ClaudeCode without checking directory ownership or permissions. Because ProgramData is writable by non-administrative users by default and the ClaudeCode subdirectory did not exist or was not access-restricted, any low-privileged local user could create it and drop a malicious config containing a session-start hook.
Damage
On a shared multi-user Windows machine, a standard user could plant a config that auto-ran an attacker-controlled hook under any other user's context the next time that user launched Claude Code — full local privilege escalation (CWE-426: Untrusted Search Path), rated CVSS v4.0 5.4 (Moderate). No in-the-wild exploitation was reported. Fixed in Claude Code 2.1.75, which relocated managed settings to a write-protected Program Files path; Anthropic pre-notified enterprise customers since the move changed where admins must place managed config.
Classification
- Agent
- Claude Code
- Failure mode
- Security Vulnerability
- Root cause
- Other
- Domain
- Security
- Source
- Security Research
Related incidents
Get told when an agent breaks something
We document AI agent failures daily, severity-scored against a published scale. When one lands at 7.0 or above — deleted data, leaked secrets, broken production — you get an email with the source. When nothing does, you get nothing.
This database is callable over MCP — query it from inside your agent.