cfgaudit

Known attacks

Which published attacks on coding agents depend on something a repository file can carry, and what cfgaudit reports for that file. cfgaudit detects the configuration an attack depends on, not the bug behind it. Most of these CVEs are agent bugs fixed in a release, so a finding means the file has the shape the attack used, not that a current agent is vulnerable.

57 are detected, 17 partly, and 7 are not, each with the reason. Every listed rule and severity is checked against a fixture in cfgaudit's tests. Bugs in servers and model behaviour are left out, because no configuration file shows them.

Detected

  1. any

    CVE-2021-42574

    detected

    Trojan Source: bidirectional Unicode controls make text read differently to a person than to a parser.

  2. Kilo Code

    CVE-2025-11445

    detected

    A prompt injection tells the agent to widen its own permission settings.

  3. MCP Inspector

    CVE-2025-49596

    detected · fixed in 0.14.1

    A web page can reach an older MCP Inspector's local proxy and run commands through it.

  4. Roo Code

    CVE-2025-53098

    partly detected · fixed in 3.20.3

    An agent write to .roo/mcp.json adds an MCP server.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports a committed server with an inline script. A write at run time is invisible to a scan.

  5. Roo Code

    CVE-2025-53536

    detected · fixed in 3.22.6

    An agent write to .vscode/settings.json points an executable-path setting at a program of the attacker's choice.

  6. GitHub Copilot

    CVE-2025-53773

    detected · fixed in August 2025 Copilot Chat update

    A committed setting turns off every tool confirmation in Copilot Chat.

  7. Cursor

    CVE-2025-54130

    detected · fixed in 1.3.9

    An agent write to .vscode/settings.json changes the terminal profile to a program inside the repository.

  8. Cursor

    CVE-2025-54135

    partly detected · fixed in 1.3.9

    CurXecute: prompt injection makes the agent create a .cursor/mcp.json whose server runs a command.

    A file scan cannot see this part: it needs run-time state. cfgaudit sees the committed file. A file the agent writes at run time is invisible to a scan.

  9. Cursor

    CVE-2025-54136

    partly detected · fixed in 1.3

    MCPoison: an approved MCP server in a committed .cursor/mcp.json is swapped for another command without a new approval.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports the swapped command. The approval state lives in the editor.

  10. Codex

    CVE-2025-55345

    detected

    A symlink inside the workspace leads a write outside it.

  11. Roo Code

    CVE-2025-58372

    detected · fixed in 3.26.0

    A .code-workspace file written by the agent runs tasks when the workspace is reopened.

  12. Roo Code

    CVE-2025-58373

    detected · fixed in 3.26.0

    Symlinks bypass .rooignore and reach excluded files.

  13. Claude Code

    CVE-2025-59536

    detected · fixed in 1.0.111

    Committed hooks and MCP settings ran before the trust dialog.

  14. Claude Code

    CVE-2025-59828

    detected · fixed in 1.0.39

    A committed Yarn config ran repository JavaScript when the agent called yarn before the trust dialog.

  15. Cursor

    CVE-2025-59944

    partly detected · fixed in 1.7

    A case variant of a sensitive path passes the guard on a case-insensitive filesystem.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports a committed command that writes such a path. The guard itself runs in the agent.

  16. Codex

    CVE-2025-61260

    detected

    A project config declares an MCP server that starts without confirmation.

  17. Cursor

    CVE-2025-61590

    detected · fixed in 1.7

    Settings written into a .code-workspace file bypass the .vscode/settings.json protection.

  18. Cursor

    CVE-2025-61592

    detected · fixed in 2025.09.17-25b418f

    A committed .cursor/cli.json allowlists shell commands.

  19. Cursor

    CVE-2025-61593

    partly detected · fixed in 2025.09.17-25b418f

    A case-variant path bypasses the guard on .cursor/cli.json.

    A file scan cannot see this part: it needs run-time state. cfgaudit reads the case variant. The guard itself runs in the agent.

  20. Cursor

    CVE-2025-64109

    partly detected · fixed in 2025.09.17-25b418f

    A committed .cursor/mcp.json server starts in Cursor CLI as soon as the folder opens.

    A file scan cannot see this part: it needs run-time state. An ordinary command in the file is not a finding on its own: cfgaudit cannot tell a harmless server from a harmful one.

  21. Claude Code

    CVE-2025-65099

    detected · fixed in 1.0.39

    Second record of the Yarn config issue: repository JavaScript ran before the trust dialog.

  22. mcp-remote

    CVE-2025-6514

    detected · fixed in 0.1.16

    A malicious server's response ran commands through the stdio proxy.

  23. Zed

    CVE-2025-68432

    partly detected · fixed in 0.218.2-pre

    A committed language-server binary setting runs a program of the repository's choice once the worktree is trusted.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports inline scripts and interpreter flags. A plain path to a program is not reported.

  24. Zed

    CVE-2025-68433

    detected · fixed in 0.218.2-pre

    A committed context server runs an inline shell once the worktree is trusted.

  25. Amazon Q Developer

    CVE-2025-8217

    detected

    An instruction gave the agent a destructive goal in prose.

  26. coding agents

    CVE-2026-101884

    detected

    An agent environment sanitizer left runtime start-up hooks in place, so a configured variable loaded code.

  27. VS Code

    CVE-2026-102231

    detected · fixed in 1.141.1

    A workspace setting sends the Azure DevOps token to an endpoint the repository chooses.

  28. VS Code

    CVE-2026-102232

    detected · fixed in 1.141.1

    Workspace settings register custom hook and agent folders the agent could edit without approval.

  29. Junie CLI

    CVE-2026-111091

    detected · fixed in 26.8.3

    An untrusted project's MCP configuration leads to code execution.

  30. Gemini CLI

    CVE-2026-12537

    detected · fixed in 0.39.1

    In untrusted folders a committed .gemini/.env was loaded.

  31. AWS Language Servers

    CVE-2026-12958

    detected

    A symlink in a workspace leads a file write outside the trust boundary.

  32. Gemini CLI

    CVE-2026-13745

    partly detected · fixed in 0.39.1

    A project .env overrides GEMINI_CLI_HOME, so Gemini CLI reads user configuration from a folder the repository supplies.

    Deliberately not reported. cfgaudit reports the variable in .gemini/.env but does not read a root .env, which is an ordinary project file far more often than agent config.

  33. Codex Desktop

    CVE-2026-19590

    detected

    Automated git operations trusted a repository-local hooks path.

  34. Codex

    CVE-2026-19592

    detected

    Metadata collection ran a repository-local core.fsmonitor.

  35. Codex Desktop

    CVE-2026-19593

    detected

    Git status on a preserved .git/config activated a filter driver.

  36. Eclipse Theia

    CVE-2026-19884

    detected

    Opening a folder started source control integration before any trust decision.

  37. VS Code

    CVE-2026-21518

    partly detected · fixed in 1.109.1

    A committed .vscode/mcp.json server started without the workspace being trusted.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports inline scripts. An ordinary server command in the file is not a finding on its own.

  38. VS Code

    CVE-2026-21523

    detected · fixed in 1.109.1

    A workspace setting makes the terminal type a reply by itself when a pattern appears.

  39. Claude Code

    CVE-2026-21852

    detected · fixed in 2.0.65

    A committed base URL sends API requests, and the key, to another endpoint before the trust dialog.

  40. Claude Code

    CVE-2026-25724

    partly detected · fixed in 2.1.7

    A permission deny rule could be bypassed by reading the denied file through a workspace symlink.

    Deliberately not reported. A link that stays inside the repository and points at a denied file is not reported.

  41. Zed

    CVE-2026-27967

    detected · fixed in 0.225.9

    Agent file tools follow a committed symlink out of the worktree.

  42. MCP servers

    CVE-2026-31951

    detected

    A templated credential is forwarded to a cleartext or raw-IP MCP endpoint.

  43. MCP servers

    CVE-2026-33010

    detected

    An MCP server configured with a wildcard CORS origin answers requests from any web page.

  44. Claude Code

    CVE-2026-33068

    detected · fixed in 2.1.53

    A committed bypassPermissions default skipped the trust dialog.

  45. Claude Code

    CVE-2026-39861

    partly detected · fixed in 2.1.64

    A symlink created by a sandboxed process lets the unsandboxed agent write outside the workspace.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports a committed link of this shape. A link the agent creates at run time is invisible to a scan.

  46. Claude Code

    CVE-2026-40068

    partly detected · fixed in 2.1.84

    A crafted .git file pointing at a trusted path skipped the trust dialog.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports the committed hook. The trust check runs in the agent.

  47. MCP servers

    CVE-2026-41495

    detected

    An HTTP MCP server without log redaction writes secrets to its logs.

  48. MCP servers

    CVE-2026-42282

    detected

    An HTTP MCP server without log redaction writes secrets to its logs.

  49. Zed

    CVE-2026-44461

    detected · fixed in 0.227.1

    An environment variable name carrying a command substitution ran when Zed built a remote terminal command.

  50. Microsoft APM

    CVE-2026-44641

    detected · fixed in 0.8.12

    Plugin component paths leave the plugin root.

  51. MCP servers

    CVE-2026-44995

    detected

    An interpreter start-up variable in an MCP server env block loads code when the server starts.

  52. GitHub Copilot CLI

    CVE-2026-45033

    detected · fixed in 1.0.42

    A committed nested bare repository runs a git command key when the agent uses git inside it.

  53. VS Code

    CVE-2026-47281

    detected · fixed in 1.123.1

    A committed .code-workspace sets a remote authority that connects the extension host to another server.

  54. VS Code

    CVE-2026-47282

    detected · fixed in 1.128.1

    Copilot debug settings send requests and the token to an upstream the repository chooses.

  55. VS Code

    CVE-2026-47284

    detected · fixed in 1.123.1

    A .gitmodules URL with a lookalike host received the GitHub credential on submodule update.

  56. Claude Code Action

    CVE-2026-47751

    detected · fixed in 1.0.74

    The action read .mcp.json from a checked-out pull request head.

  57. Cursor

    CVE-2026-48124

    partly detected · fixed in 3.0.0

    Cursor ran hook commands from a workspace .claude/settings.local.json without approval.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports the committed hook. The missing approval is in the editor.

  58. Cursor

    CVE-2026-50549

    partly detected · fixed in 3.0

    A failed path check lets the agent write through a symlink outside the workspace.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports a committed link of this shape. A link the agent creates at run time is invisible to a scan.

  59. MCP servers

    CVE-2026-57572

    detected

    A browser flag in an MCP server's arguments runs a program as the browser subprocess.

  60. ForgeCode

    CVE-2026-57860

    detected

    MCP servers from a repository .mcp.json start without confirmation.

  61. VS Code

    CVE-2026-58650

    partly detected · fixed in 1.132.1

    An extension recommendation link runs a task in a restricted workspace.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports lookalike extension ids. The notification link is built by the editor.

  62. Cursor

    CVE-2026-63093

    detected

    A git.exe at the repository root is planted in place of the real git on Windows.

  63. VS Code

    CVE-2026-69370

    partly detected · fixed in 1.141.1

    A recommendation's text becomes a command link in the install-error notification.

    A file scan cannot see this part: it needs run-time state. cfgaudit reports lookalike extension ids. The notification link is built by the editor.

  64. VS Code

    CVE-2026-70334

    detected · fixed in 1.136.2

    A restricted setting in nested-object form skipped the Restricted Mode filter.

  65. goose

    CVE-2026-72718

    detected · fixed in 1.44.0

    A committed nested bare repository runs a git command key when the agent uses git inside it.

  66. Cursor

    CVE-2026-73217

    detected · fixed in 3.1.2

    A wrapper replacing a virtual environment's interpreter later ran outside the sandbox.

  67. VS Code

    CVE-2026-78462

    detected · fixed in 1.136.2

    Workspace settings connect the editor to another agent host and grant it local file access.

  68. VS Code

    CVE-2026-81376

    detected · fixed in 1.136.2

    Nested-object settings that connect the editor to another service skipped Restricted Mode.

  69. VS Code

    CVE-2026-81381

    detected · fixed in 1.136.2

    A workspace setting sends the Azure DevOps token to an endpoint the repository chooses.

  70. goose

    CVE-2026-85623

    detected

    A recipe's stdio extension runs commands without inspection.

  71. Claude Desktop

    CVE-2026-88066

    detected · fixed in Desktop 1.8089.0

    A git.exe committed at the project root ran in place of the real git on Windows.

  72. Kimi Code

    CVE-2026-95660

    partly detected

    A project MCP configuration runs a command, and planted tools shadow fd and stty.

    Deliberately not reported. The MCP step and a Windows program named fd or stty at the root are reported; a script without a Windows suffix is not, since it only runs when the working directory is on PATH.

  73. Claude Code

    GHSA-mhg7-666j-cqg4

    detected

    A command rewrites the agent's own settings, which survive cleanup and re-enable themselves.

  74. MCP Inspector

    GHSA-q978-78c7-phqw

    detected · fixed in 2.12.0

    A remote MCP server's OAuth endpoint ran a command on Windows and WSL when Inspector connected.

Not detected

  1. Zed

    CVE-2025-55012

    not detected · fixed in 0.197.3

    The always-allow setting turned off per-tool approval.

    Deliberately not reported. Zed drops this key from a committed project settings file, so the file has no effect today.

  2. VS Code

    CVE-2026-102234

    not detected · fixed in 1.141.1

    A workspace setting adds terminal link schemes, skipping the warning before a link opens a protocol handler.

    Deliberately not reported. The setting widens what a click may open and approves nothing the agent does.

  3. VS Code

    CVE-2026-102851

    not detected · fixed in 1.141.1

    MCP sandbox grants in the shared root of mcp.json applied to every server in the file.

    A file scan cannot see this part: it needs run-time state. The sandbox schema has not been measured yet, so the grants are not read.

  4. Zed

    CVE-2026-44465

    not detected · fixed in 0.227.1

    A command key in a distributed repository's own .git/config ran when the folder opened.

    Visible in a file, but no rule covers it yet. Issue #1408.

  5. VS Code

    CVE-2026-70335

    not detected · fixed in 1.132.1

    An injected agent writes a .github/agents file whose frontmatter hooks run shell commands.

    A file scan cannot see this part: it needs run-time state. A hook with an ordinary command is not a finding on its own, and the write itself happens at run time.

  6. Claude Code

    CVE-2026-86063

    not detected · fixed in 2.1.179

    A plugin install checked out a pinned SHA without verifying that the result was that commit.

    A file scan cannot see this part: it needs run-time state. The check belongs to the installing client. A pin looks the same either way.

  7. cfgaudit

    GHSA-x9h6-c6v9-v699

    not detected · fixed in 1.17.1

    cfgaudit's own advisory: a symlink made the scanner read a file outside the repository and quote it in a report.

    Deliberately not reported. A bug in cfgaudit, fixed in v1.17.1. It is listed because CFG115 cites it.

Campaigns

A campaign is a chain of steps, so this section says which step cfgaudit sees.

  1. Agent skills

    ClawHavoc

    detected

    Published skills tell the reader to run an install step that fetches a payload.

    1. Skill text asks for a download and run: CFG036
  2. VS Code

    Contagious Interview

    detected

    A task that runs when a folder opens starts the payload of a fake interview repository.

    1. Task runs on folder open: CFG047
  3. npm and MCP

    SANDWORM

    partly detected

    Packages plant git hooks and CI workflows and add an MCP server to agent configs.

    1. Git hook and CI workflow planted: A file scan cannot see this part: it needs run-time state.
    2. MCP server added to agent settings: CFG052, CFG127

    A file scan cannot see this part: it needs run-time state. The planted git hook and CI workflow are outside agent configuration. CFG127 detects the correlated hidden-home MCP entry statically but cannot inspect runtime tool descriptions.

  4. npm and MCP

    postmark-mcp

    detected

    A malicious npm package impersonated Postmark's MCP server and copied sent email to an external recipient.

    1. MCP server launched from the exact malicious version: CFG128
  5. Nx users

    s1ngularity

    partly detected

    A compromised npm package used installed AI CLIs with bypass flags to search the machine.

    1. Package install script runs: A file scan cannot see this part: it needs run-time state.
    2. Agent CLI started with a bypass flag: CFG125

    A file scan cannot see this part: it needs run-time state. The package itself is out of reach. cfgaudit sees the same flags only in a committed agent config.

From docs/advisories.yml of cfgaudit 1.21.0.