What Cursor's 33 published security advisories teach about coding-agent safety

Cursor publishes its security advisories on GitHub. We read all 33 and grouped them. The patterns aren't about Cursor alone: they're the ways any coding agent's safety controls tend to fail.

The short answer

Cursor lists 33 security advisories on its GitHub repository: 2 critical, 22 high, 7 medium and 2 low.1 Grouped by what they’re about, the largest groups are sandbox escapes (7), MCP configuration and install flows (6), protected-file bypasses (5) and information leaks (5), with 3 command-allowlist bypasses and 3 cases where prompt injection reached code execution through special or workspace files.1

Two lessons generalise to every coding agent. Files that configure the agent (MCP server lists, settings, hooks) are code, and an agent that can write them can run anything. And controls that read command text, such as allowlists, lose to shell syntax; controls the operating system enforces, such as sandboxes, are stronger but still have edges.

We credit Cursor for publishing these in detail. Few agent vendors do.

Every MCP tool call goes through your rules first. Here a delete that doesn’t say which rows is stopped before it reaches the database. These are the rules deedglass init starts with; the call is made up.

How we counted

We pulled every advisory from the GitHub API for cursor/cursor on 26 October 2026 and sorted each by its title into one group (first match wins). Dates are publication dates. Titles are Cursor’s. The grouping is ours; another reader might split them differently.

The six patterns

Pattern Advisories Published
Sandbox escape 7 Feb to Jul 2026
MCP configuration and install 6 Aug to Nov 2025
Sensitive-file protection bypass 5 Oct to Nov 2025
Information leakage 5 Jun to Oct 2025
Command allowlist bypass 3 Aug 2025 to Mar 2026
Prompt injection to code execution via special or workspace files 3 Apr to Oct 2025
Other 4 Sep 2024 to Oct 2025

Counts from the advisory list.1 The dates tell a story: as allowlists and file protections were hardened in 2025, the 2026 advisories moved to the sandbox, the newer and stronger control.

Pattern 1: agent config files are code

Two advisories from August 2025 show it most clearly.

Creating a config file needed no approval. CVE-2025-54135: Cursor let the agent write files in the workspace without approval; editing an existing dotfile required approval, but creating a new one didn’t. So if .cursor/mcp.json didn’t exist yet, an indirect prompt injection could make the agent create it, adding an MCP server whose command runs code. The fix blocked the agent from writing MCP-sensitive files without approval. Affected up to 1.2.1, fixed in 1.3.9.2

Changing an approved server needed no re-approval. CVE-2025-54136: once a user approved a harmless MCP server in a shared repository, someone with write access could swap its command for a malicious one with no new prompt. Cursor now asks every time an MCP server entry is modified, not just when one is added.3

The general rule for any agent: the files that tell an agent what to run (.cursor/mcp.json, .mcp.json, .claude/settings.json, .gemini/settings.json, .github/hooks/) deserve the same review as CI configuration, and an agent should never write them without a person. Gemini CLI’s trusted folders feature applies the same idea from the other side.

Pattern 2: allowlists read text

CVE-2025-54131: in auto-run mode with an allowlist (not the default, which asks for every terminal call), a command could run outside the allowlist using a backtick or $(cmd). The fix moved the allowlist to a more robust parser.4 Later advisories found more ways round allowlists, including one using environment variables (CVE-2026-22708).1

That’s the same lesson VS Code states in its own docs: terminal auto-approval is a convenience, not a boundary. Our VS Code auto-approve post shows why with worked examples. If an allowlist is your only control, assume a determined prompt injection gets past it.

Pattern 3: sandboxes have edges

Seven of the advisories are sandbox escapes, two of them critical. One shows how subtle the edges are. CVE-2026-50548: Cursor’s sandbox grants write access to a command’s working directory, and the agent could set that working directory itself, so the sandbox could include writable paths outside the workspace. That allowed overwriting the sandbox helper so later commands ran unsandboxed. Fixed in 3.0, which no longer grants write access based on an agent-controlled working directory.5

Other escapes in the list ran through git hooks, Python virtual environments, privileged containers and another agent’s hook configuration.1 The pattern: anything that runs later, outside the sandbox, and reads files the sandboxed command could write, is a way out. Sandboxes are still the strongest control a coding agent has; our Claude Code sandbox post lists the equivalent gaps that Claude Code documents.

Pattern 4: protected-file lists meet path quirks

Five advisories bypassed protections on sensitive files, including backslash paths and NTFS quirks on Windows, and writing a new .cursorignore.1 Lists of protected paths are only as good as path normalisation, which differs by operating system. The safer design is the one the sandbox advisories were moving towards: decide by where a resolved path really is, after links and quirks, not by how it was spelled.

What to do with this

  • Keep coding agents updated. Most of these were fixed in a release; the risk is running last quarter’s version.
  • Treat agent config files as code. Review changes to MCP and settings files in pull requests; never let an agent write them unattended.
  • Don’t rely on allowlists alone. Use the sandbox, and keep auto-run off for anything that touches credentials or production.
  • Keep secrets off the machine where possible. Escapes matter less when there’s nothing valuable to reach.
  • Watch vendor advisory pages. Cursor, Anthropic, Google and others publish on GitHub; subscribing costs nothing.
  • Read the advisories for your own tools the way we read these. Group them by pattern, not by date. A cluster of fixes in one area tells you where the vendor is still learning, and where your own extra controls matter most right now.

The mcp-remote advisory is a related case outside Cursor. To check what the MCP servers in a repository’s config could do before you trust it, paste the config into the check page, run npx deedglass scan (how the grade works), or add the scan Action to pull requests; to try tool-call rules in your browser, open the playground.

Written with AI assistance and checked against our claims register.

The takeaway

Of Cursor's 33 GitHub advisories, 7 are sandbox escapes, 6 involve MCP configuration and 3 bypass the command allowlist: agent config files are code.

Read nextmcp-remote CVE-2025-6514: how an OAuth URL from a server became a command on your machine Try it: install in 7 s

Related on this site

More posts

Sources

  1. 1cursor/cursor: security advisories (33 listed, read via the GitHub API) · github.com · checked 26 October 2026
  2. 2GHSA-4cxx-hrm3-49rm: code execution via a prompt injection and MCP special files · github.com · checked 26 October 2026
  3. 3GHSA-24mc-g4xr-4395: modified MCP server definitions bypass re-approval · github.com · checked 26 October 2026
  4. 4GHSA-534m-3w6r-8pqr: allowlist bypass with backticks or $(cmd) · github.com · checked 26 October 2026
  5. 5GHSA-3p48-7v9f-v5cw: sandbox escape via agent-controlled working directory · github.com · checked 26 October 2026

Published 26 October 2026, sources last checked 26 October 2026. If something here is out of date, write to hello@deedglass.com.

Try it on your own setup

npx deedglass scan

Grades only your own setup. Nothing is uploaded.

Pricing