Model Context Protocol (MCP) Security

MCP is rapidly becoming the standard way LLM agents call tools and fetch resources. Its attack surface is wide — and largely undocumented. This page tracks every MCP-related CVE we have analyzed.

100
MCP CVEs tracked
35
Critical severity
65
High severity

What is MCP?

The Model Context Protocol (MCP) is an open standard introduced by Anthropic in late 2024. It lets LLM-powered agents discover and invoke tools (file system, shell, HTTP, databases, third-party APIs) through a uniform client/server interface. By mid-2026 MCP is supported by Claude Desktop, Cursor, LangFlow, n8n, OpenAI Codex CLI, Gemini CLI, LiteLLM, PraisonAI, and dozens of community implementations.

MCP solves real fragmentation problems — but it also massively expands the attack surface of the LLM layer. Every MCP server is, in effect, a piece of remote-callable infrastructure that an agent will trust to execute commands and return data. Most MCP servers in the wild are written quickly, lightly audited, and run with broad privileges.

Common MCP attack patterns (observed in real CVEs)

1. Path traversal via tool arguments

MCP tool inputs (file paths, resource URIs) flow directly into fs.readFile or similar primitives. Without canonicalization, an agent prompt can read or write arbitrary files. Real-world impact: full RCE when the file written is a configuration with code-execution semantics.

2. SSRF via HTTP tools

MCP fetch tools that don't restrict target URLs let attackers reach 169.254.169.254 (cloud metadata), private VPC ranges, or internal services. We see SSRF chained with API key exfiltration in tools like n8n-mcp.

3. Credential leakage via HTTP transport logging

Many MCP servers default to verbose request logging. OAuth tokens, API keys, and session cookies end up in logs that downstream agents can read. Multiple CVEs we track exploit this exact pattern.

4. Owner-context spoofing and authorization bypass

MCP doesn't dictate authorization between client and server. Naive implementations trust the client-asserted identity, which a malicious tool can spoof. Result: privilege escalation across tenants.

5. Prompt-injection driven tool invocation chains

An attacker who controls any content surface the agent reads (web page, email, RAG document) can plant instructions that cause the agent to invoke MCP tools with attacker-controlled arguments — chaining what would otherwise be benign tools into a working exploit.

MCP-related CVEs we are tracking

CVESeverityHeadline
CVE-2026-62863CRITICALMoLing: unauthenticated SSE enables browser-based tool calls
CVE-2026-114612CRITICALLiteLLM: forged admin token enables RCE via MCP stdio
CVE-2026-96620CRITICALClaude Agent SDK: argument injection enables RCE
CVE-2026-105740CRITICALLangflow: MCP Stdio command injection gives authenticated RCE
CVE-2026-105697CRITICALLangflow: MCP stdio command injection allows host RCE
CVE-2026-77254CRITICALMCP Atlassian: missing auth exposes Jira/Confluence
CVE-2026-77244CRITICALMCP Atlassian: unauthenticated access to operator Jira/Confluence
CVE-2026-57139CRITICALPraisonAI: unauthenticated MCP server exposes agent tools
CVE-2026-57124CRITICALPraisonAI: unauth RCE via MCP connect endpoint
CVE-2026-57123CRITICALPraisonAI: unauthenticated MCP tool server enables RCE
CVE-2026-85025CRITICALLangflow: unauth RCE via public MCP endpoints
CVE-2026-45018CRITICALChainlit: unauth RCE via MCP stdio cmd injection
CVE-2026-73601CRITICALFlowise: RCE via Custom MCP node env var injection
CVE-2026-12940CRITICALLangflow: unauth RCE via MCP env var injection
CVE-2026-67429CRITICALflyto-core: arbitrary file write via bypassed path guard
CVE-2026-9135CRITICALLangflow: code injection bypasses ToolGuard, enables RCE
CVE-2026-30623CRITICALLiteLLM: RCE via unsanitized MCP server config
CVE-2026-54052CRITICALn8n-mcp: broken tenant isolation leaks workflow credentials
CVE-2026-61459CRITICALmcp-server-kubernetes: arg injection exfils bearer token
CVE-2026-50027CRITICALmcp-memory-service: auth bypass on document API
CVE-2026-7663CRITICALLangflow: auth bypass in MCP transport exposes projects
CVE-2025-71336CRITICALFlowise: unauthenticated RCE via Custom MCP endpoint
CVE-2026-56274CRITICALFlowise: RCE via MCP server command validation bypass
CVE-2026-7664CRITICALLangflow: auth bypass in MCP endpoint, CVSS 9.8
GHSA-j4f3-55x4-r6q2CRITICALpraisonai: MCP HTTP server unauthenticated tool invocation
GHSA-vmmj-pfw7-fjwpCRITICALpraisonai: sandbox escape gives RCE via codeMode tool
GHSA-p75f-6fp4-p57wCRITICALPraisonAI: unauthenticated RCE via MCP connect endpoint
GHSA-x227-pf99-vffgCRITICALpraisonaiagents: unauthenticated MCP SSE server enables RCE
CVE-2026-46339CRITICAL9router: unauthenticated RCE exposes LLM API keys
CVE-2026-44336CRITICALPraisonAI: MCP path traversal escalates to full RCE
GHSA-9qhq-v63v-fv3jCRITICALPraisonAI: RCE via MCP command injection
CVE-2026-40933CRITICALFlowise: RCE via MCP stdio command injection
CVE-2025-61260CRITICALOpenAI Codex CLI: RCE via malicious MCP config files
CVE-2026-27825CRITICALmcp-atlassian: Path Traversal enables file access
CVE-2025-59528CRITICALFlowise: Unauthenticated RCE via MCP config injection
CVE-2026-123811HIGHDynatrace MCP Server: unauthenticated HTTP tool calls expose Grail data
CVE-2026-77604HIGHcode-graph-rag: MCP read_file path traversal exposes files
CVE-2026-87008HIGHCode Graph RAG: symlink path traversal enables file read/write
CVE-2026-117560HIGHATXP Gemini CLI ext: command injection via MCP tools
CVE-2026-115477HIGHobsidian-tc: HITL approval bypass runs destructive tools
CVE-2026-84317HIGHNginx UI: MCP config_add bypasses directive validation
CVE-2026-109557HIGHEdgeEver: stored XSS via MCP names steals bridge token
CVE-2026-105741HIGHLangflow: X-Forwarded-For spoof lets users write MCP config
CVE-2026-105699HIGHLangflow: cross-tenant file read via MCP resources/read
GHSA-x8gv-g2g3-65fjHIGHSiYuan: DNS-rebinding SSRF bypass in AI agent tools
CVE-2026-100596HIGHOpenClaw: missing authz in /mcp set enables persistent RCE
CVE-2026-100587HIGHOpenClaw: missing owner check allows plugin install and MCP execution
CVE-2026-100585HIGHOpenClaw: owner-only approval bypass in MCP bridge
CVE-2026-61788HIGHDBHub: readonly mode bypass enables writes and RCE
CVE-2026-77247HIGHmcp-atlassian: arbitrary server file upload via path
CVE-2026-77262HIGHmcp-atlassian: path traversal enables arbitrary file read
CVE-2026-77259HIGHmcp-atlassian: arbitrary file read via attachment upload
CVE-2026-77257HIGHmcp-atlassian: arbitrary local file upload via path
CVE-2026-77255HIGHmcp-atlassian: arbitrary file read/exfil via attachments
CVE-2026-77253HIGHmcp-atlassian: path traversal enables arbitrary file exfiltration
CVE-2026-77246HIGHmcp-atlassian: unvalidated upload path leaks server files
CVE-2026-77248HIGHmcp-atlassian: unauth file read via upload_attachment
CVE-2026-77256HIGHMCP Atlassian: world-readable OAuth token file exposure
CVE-2026-77261HIGHmcp-atlassian: SSRF via unvalidated redirects
CVE-2026-77260HIGHMCP Atlassian: path traversal in upload_attachment
CVE-2026-77271HIGHMCP Atlassian: path traversal enables code execution
CVE-2026-77242HIGHMCP Atlassian: DNS rebinding bypasses SSRF protection
CVE-2026-77243HIGHMCP Atlassian: missing authz lets clients call hidden tools
CVE-2026-77251HIGHMCP Atlassian: project/space filter bypass exposes data
CVE-2026-77267HIGHMCP Atlassian: SSRF via header URLs bypasses prior fix
CVE-2026-77258HIGHMCP Atlassian: path traversal exposes server files
CVE-2026-77274HIGHmcp-atlassian: SSRF via backslash URL parsing confusion
CVE-2026-61647HIGHNotebookLM MCP: path traversal enables arbitrary file write
CVE-2026-58197HIGHToolHive: default network profile enables MCP lateral movement
GHSA-5648-rgj9-v224HIGHmcp-gitlab: GraphQL read-only bypass, auth gaps, DoS
CVE-2026-91932HIGHFlowise: MCP cwd validation bypass enables RCE
CVE-2026-91931HIGHFlowise: RCE via npx in Custom MCP node
CVE-2026-57134HIGHPraisonAI: MCP auth bypass via unchecked Basic/OAuth
CVE-2026-57112HIGHPraisonAI: DNS rebinding exposes MCP SSE tool calls
CVE-2026-73496HIGHMCP Atlassian: path traversal enables server file disclosure
CVE-2026-81941HIGHLangflow: MCP stdio tool bypasses RCE lockdown
CVE-2026-78575HIGHLangflow: RCE via unsanitized MCP stdio server args
CVE-2026-75915HIGHdeepseek-tui: js_execution leaks parent secrets to LLM
CVE-2026-75857HIGHCodeWhale: shell approval bypass via interactive tool
CVE-2026-75914HIGHCodeWhale: symlink traversal leaks files via vision API
CVE-2026-85666HIGHOGX/Llama Stack: SSRF via MCP tool server_url
CVE-2026-19591HIGHCodex CLI: PowerShell parsing flaw bypasses approval, RCE
CVE-2026-45019HIGHChainlit: unauth SSRF via MCP url/header injection
CVE-2026-55580HIGHmcp-shell: insecure defaults allow full shell RCE
CVE-2026-55581HIGHmcp-shell: bash allowlist bypass grants RCE, no auth
CVE-2026-55582HIGHmcp-shell: secure mode bypass via git alias RCE
CVE-2026-55532HIGHPraisonAI: Origin bypass CSRF enables prompt injection
CVE-2026-77068HIGHn8n: RCE via path traversal in MCP schema loader
CVE-2026-75149HIGHmarimo: code injection via malicious MCP server config
CVE-2026-75858HIGHCodeWhale: rlm_eval RCE bypasses approval policy
CVE-2026-75060HIGHPyCharm: unauthenticated Jupyter MCP tools enable RCE
CVE-2026-72768HIGHn8n: SSRF bypass in MCP Client node exposes internal hosts
CVE-2026-9077HIGHLangflow: MCP config write bypasses localhost restriction
CVE-2026-8446HIGHLangflow: OAuth auth bypass on MCP composer endpoint
CVE-2026-17626HIGHLangflow: Docker MCP volume-mount flaw exposes host files
CVE-2026-17623HIGHLangflow: MCP config command injection allows RCE
GHSA-p7w7-4929-vpj5HIGHDynatrace MCP server: unauth HTTP data exfil via DQL
CVE-2026-14538HIGHGoogle mcp-toolbox: BigQuery allowedDatasets bypass
CVE-2026-15829HIGHMCP Toolbox: SQLi bypasses BigQuery allowedDatasets ACL
CVE-2026-7755HIGHLangflow: MCP config validation gap enables RCE

How to protect MCP deployments

  1. Inventory every MCP server in your stack. Treat them like web services, not "just config". Each is a remote code-execution surface for your agents.
  2. Sandbox the host process. Run MCP servers in containers with read-only filesystems where possible, dropped capabilities, and network policies limiting egress.
  3. Sanitize every tool argument as untrusted. Canonicalize paths before file access. Validate URLs against an allow-list before HTTP fetches. Reject IPs in private/metadata ranges.
  4. Disable verbose request logging by default. If logging is needed, redact OAuth bearer tokens, cookies, and Authorization headers at the transport layer.
  5. Implement explicit authorization. Don't trust the client-asserted owner/tenant. Authenticate the MCP client and check it against an access policy on every invocation.
  6. Constrain prompt-injection blast radius. Treat any content the agent reads as adversarial. Require human-in-the-loop confirmation for tool invocations that touch sensitive resources.
  7. Track upstream CVEs. The MCP ecosystem moves fast. Subscribe to our feed to catch new MCP CVEs as they are published.