Cursor Desktop sandbox escape via symlink and failed path canonicalization
CriticalCVE-2026-50549 · Published Jun 5, 2026
### Summary Cursor runs agent terminal commands in a sandbox by default. Before a `Write`, the agent canonicalizes the target path to confirm it stays inside the workspace, but when canonicalization fails it falls back to the original path and writes without approval. A malicious agent can create an in-workspace symlink that points outside the workspace and force canonicalization to fail — either because the target does not exist or because read permission is removed from the path — so the agent writes through the symlink to an arbitrary location without approval. ### Impact A malicious agent could write arbitrary files outside the workspace under the user's privileges. This enables non-sandboxed Remote Code Execution — for example by overwriting the `cursorsandbox` helper so later commands run unsandboxed — with no user interaction beyond a benign prompt. ### Remediation Update Cursor to version 3.0. Canonicalization failures are now treated as untrusted: when a target path cannot be resolved — including when read permission is removed to defeat resolution — the write is blocked instead of falling back to the original in-workspace path. ### Credit Cato AI Labs Maor Dokhanian (m...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| cursor Product | < 3.0 | 3.0 |
Details and references
### Summary Cursor runs agent terminal commands in a sandbox by default. Before a `Write`, the agent canonicalizes the target path to confirm it stays inside the workspace, but when canonicalization fails it falls back to the original path and writes without approval. A malicious agent can create an in-workspace symlink that points outside the workspace and force canonicalization to fail — either because the target does not exist or because read permission is removed from the path — so the agent writes through the symlink to an arbitrary location without approval. ### Impact A malicious agent could write arbitrary files outside the workspace under the user's privileges. This enables non-sandboxed Remote Code Execution — for example by overwriting the `cursorsandbox` helper so later commands run unsandboxed — with no user interaction beyond a benign prompt. ### Remediation Update Cursor to version 3.0. Canonicalization failures are now treated as untrusted: when a target path cannot be resolved — including when read permission is removed to defeat resolution — the write is blocked instead of falling back to the original in-workspace path. ### Credit Cato AI Labs Maor Dokhanian (maordok)
- Severity from
- GitHub (reviewed advisory)
More Cursor advisories
All Cursor| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jul 14 | Sandbox escape via tampered Python virtual environments | High | 3.1.2 |
| Jul 14 | Sandbox escape via launching privileged containers | High | No fix yet |
| Jul 6 | Cloud Agent Browser Sandbox Escape | High7.7 | Fixedon03/31/2026 |
| Jun 5 | Cursor Desktop sandbox escape via agent-controlled working directory | Critical | 3.0 |
| May 21 | Cursor Desktop sandbox escape via Claude hook configuration | High8.5 | 3.0.0 |
| Mar 9 | Arbitrary Code Execution via Prompt Injection and Whitelist Bypass | High | 2.0 |