
Cursor security: top 10 attacks and what each one actually broke
Adversa AI reviews ten documented attacks on the Cursor editor between August 2025 and October 2026, as of 3 November 2026. They include the trojanized Claude Code extension served by Cursor's marketplace for about 11 hours, GlassWorm, the Miasma worm, DeepJack, NomShub, DuneSlide and CurXecute. Only three have CVEs and none of those was exploited in the wild. The four that caused confirmed harm have no CVE. It lists mitigations such as enabling Workspace Trust, which is off by default.
What it is
Adversa AI's review of ten documented attacks on Cursor between August 2025 and October 2026, with status as of 3 November 2026. Adversa sells a competing coding-agent security product and ends the post with a pitch for it. Its argument is that the CVE list (33 entries, none in CISA's Known Exploited Vulnerabilities catalog) and the list of attacks that caused harm barely overlap. A risk register built from CVE data therefore misses the incidents that hurt.
How it works
The attacks use things Cursor accepts from outsiders: extensions that run with the editor's full permissions, project files, MCP output, web pages and cursor:// deeplinks.
- Marketplace compromise (29 October 2026): Cursor's marketplace served
Anthropic.claude-codeversions 2.1.312 and 2.1.313 (Windows and macOS) for about 11 hours. A 66-line loader sent host details to the attacker, added an SSH key and installed persistence that survives uninstall. Cursor says the reverse tunnel needed admin rights, so on most hosts the attacker could not log in. Cursor has not said how the attacker got in. - Miasma worm (3 June 2026): it planted
.cursor/rules/setup.mdcwithalwaysApply: true, telling the agent to run a dropper. It also planted.vscode/tasks.json, which runs on folder open. No public report ties an infection to the tasks.json route in Cursor. - PocketOS wipe (April 2026): a Cursor agent running Claude Opus 4.6 found a Railway API token in an unrelated file. The token was meant for custom domains but could call the whole API. One
volumeDeletecall took about nine seconds, and the backups sat on the same volume. - DeepJack: tab characters push the real command off the edge of the MCP install dialog, so the user sees
calcwhilecmd.exeruns the full string. A second variant double-URL-encodes anmcp/installURI inside a pr-review link. It bypasses the fix for CVE-2025-54133. - Windows git.exe (CVE-2026-63093, CVSS 3.1 8.8): Cursor searches the workspace root for Git, so a repo that ships
git.exehas it run on open, with no prompt. - Agentjacking: a crafted event posted with a public Sentry DSN reaches the agent through the Sentry MCP server and carries an
npxcommand. The researchers report 2,388 organizations with injectable DSNs and an 85% success rate across Claude Code, Cursor and Codex in their own testing. - DuneSlide (CVE-2026-50548, 9.3 GitHub, 9.8 NVD): the agent controls the sandbox's
working_directory, so an injected prompt can overwrite thecursorsandboxhelper and later commands run unsandboxed. - NomShub: a fake README setup guide gets the agent to write
/tmp/run.shinto~/.zshenv, because the parser ignores built-ins likeexportandcd. The agent then starts the bundledcursor-tunneland sends the GitHub device code to the attacker. - CurXecute (CVE-2025-54135, 8.5 advisory, 9.8 NVD): the suggested
mcp.jsonedit lands on disk and starts before the developer answers, so rejecting it is too late. - GlassWorm: invisible-Unicode payloads in Open VSX extensions, disrupted on 26 May 2026. Removal from the registry does not remove copies already installed.
Preconditions / Affected
- Only three entries have CVEs: git.exe, DuneSlide and CurXecute. None has confirmed in-the-wild exploitation. The four with confirmed harm have no CVE.
- Workspace Trust is off by default, per Cursor's own documentation. Cursor also says run modes are best effort and not a hard security boundary.
- Anything before Cursor 3.0 is open to DuneSlide and NomShub's sandbox escape. CurXecute is patched in 1.3.9.
What to do
- Turn on Workspace Trust fleet-wide. Open unknown repositories in a disposable environment.
- On managed Windows machines, use AppLocker or Windows App Control to deny
git.exeexecution from developer workspaces. - Pin extension versions and hold automatic updates. An ID allowlist would have passed the October build. Inventory extensions across every VS Code fork on the machine.
- If either bad Claude Code build ran, follow Cursor's notice: run its remediation script, hunt for the known IoCs, then rotate every credential that host could reach.
- Put
.cursor/,.vscode/,.claude/,*.code-workspaceand.git/hooksunder code review and file integrity monitoring. - Use Ask Every Time instead of auto-run in sessions that touch MCP output, web pages, tickets, logs or cloned repos.
- Allowlist MCP servers through managed settings, inspect
mcp.jsonafter any install, and block this at the email and web gateway:
cursor://anysphere.cursor-deeplink/mcp/install- Keep production credentials out of workspaces and scope tokens to the job.
- Alert on unexpected
cursor-tunnelprocesses and GitHub device-flow authorizations, whatever the version. - Update to 3.0 or later.
Caveats
- Three entries are open or disputed: CVE-2026-63093, DeepJack and Agentjacking.
- For CVE-2026-63093, Cursor called it out of bug bounty scope and pointed to Workspace Trust, which the page says is not guaranteed to block it. Some coverage reported a quiet 13 July patch. Cursor has published no advisory, NVD names no fixed version and Adversa found no public test of a current build.
- Cursor closed both DeepJack reports as duplicates. Sentry declined a root fix for Agentjacking and filtered one payload string.
- The write-up does not say whether NomShub's tunnel side was fixed. Cursor fixed the sandbox component in 3.0 with no CVE.
- The 85% Agentjacking figure comes from the researchers' controlled validation.
Organisations named here
- DuneSlide
- NomShub
- PocketOS
- Railway
- VulnCheck
CVEs named here
- CVE-2026-63093
- CVE-2025-54133
- CVE-2026-50548
- CVE-2025-54135
- CVE-2025-59944
- CVE-2025-54130
- CVE-2026-48124
Technologies named here
- Cursor
- Cursor extension marketplace
- AppLocker
- Open VSX
- Sentry MCP server
- Claude Code
- Codex
- Azure/durabletask
- Model Context Protocol
- VS Code
- Windows
- Adversa coding agent security platform
- Anthropic.claude-code extension versions 2.1.312 and 2.1.313 (Windows and macOS)
- Cursor before 1.3.9 (CurXecute, CVE-2025-54135)
- Cursor before 3.0 (DuneSlide, NomShub sandbox)
- Cursor on Windows (git.exe search path, CVE-2026-63093)
- File-Deletion Protection
- File integrity monitoring
- Railway API
- VS Code forks
- Windows App Control
- Workspace Trust
Techniques named here
- Prompt Injection
- Untrusted Search Path
- Sandbox escape
- DeepJack
- Agentjacking
- Application allowlisting
- Config file tampering
- Deeplink abuse (cursor://)
- Dialog spoofing with tab characters
- Double URL encoding
- Invisible Unicode characters in code
- Overscoped credential abuse
- Persistence via ~/.zshenv
- Reverse tunnel
- Supply chain compromise via extension marketplace
- Tunnel hijack via GitHub device authorization
Concepts named here
- Agent config as code
- Data and instruction separation
- Fail open design
- Least privilege for agent credentials
- Runtime layer for agent actions
- Shared responsibility model
- Vulnerabilities versus breaches
- Workspace Trust default off
Threat actors named here
- GlassWorm
- Miasma worm
- Miasma
- CurXecute
- Fake Solidity extension (2025)
- oorzc (compromised publisher)
- Trojanized Claude Code extension in Cursor marketplace (October 29, 2026)
Related in AI Security
