Anthropic design choice exposed 150M+ downloads, and 200K servers to complete takeover

MCP Supply Chain Advisory: RCE Vulnerabilities Across the AI Ecosystem

Security Advisory 1

Four separate exploits, deriving from one root cause in Anthropic’s MCP SDK

OX Security researchers identified a systemic command injection vulnerability in Anthropic’s MCP protocol that propagated across the AI ecosystem.  This is the full disclosure advisory — including CVEs, affected platforms, and attack variants.

For more information:

MCP Vulnerability Family #1: Unauthenticated & Authenticated Command Injection via MCP STDIO

This family of vulnerabilities lets the attacker enter user-controlled commands which run directly on the server without authentication and without sanitization; any public server running with a publicly facing UI is vulnerable to this family of exploits.

In these scenarios, the attacker can simply identify the MCP adapter configuration logic which exposes this type of MCP configuration with STDIO commands, and enter a malformed JSON configuration with the arbitrary command.

These are some of the configuration screens which directly allow command execution:

image
image

CVE ID: Unassigned

Product: LangFlow

Link: https://github.com/langflow-ai/langflow 

Description: LangFlow contains an unauthenticated remote command execution vulnerability within its MCP adapter configuration functionality. An attacker can obtain an authorization token via the publicly accessible /api/v1/auto_login endpoint and use it to add a malicious MCP server via an STDIO template. The application allows the user to supply arbitrary command and argument values, which are passed directly to StdioServerParameters (specifically within src/lfx/src/lfx/base/mcp/util.py) without adequate sanitization or an approved allowlist. Consequently, the underlying system executes the input as a subprocess, allowing an unauthenticated attacker to run arbitrary operating system commands and achieve remote command execution with the privileges of the LangFlow process.

Severity: Critical

Affected Versions: All versions of LangFlow.

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2025-65720

Product: GPT Researcher

Link: https://github.com/assafelovic/gpt-researcher 

Description: When a victim accesses an attacker-controlled crafted HTML page, the page can trigger command execution and spawns a reverse shell on the machine running gpt-researcher locally.

This vulnerability can be exploited via entering the GPT-Researcher UI without authentication and entering a malicious MCP configuration which directly executes a command on the GPT-Researcher server.

Severity: Critical

Affected Versions: All versions of GPT Researcher.

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2026-30623

Product: LiteLLM

Link: https://github.com/BerriAI/litellm 

Description: LiteLLM contains an authenticated remote command execution vulnerability in its MCP server creation functionality. The application allows users to add MCP servers via a JSON configuration specifying arbitrary command and args values. LiteLLM executes these values on the host without validation, enabling attackers to run arbitrary operating system commands. Successful exploitation may result in remote command execution with the privileges of the LiteLLM process.

Severity: Critical

Affected Versions: All versions of LiteLLM

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: TBD

Product: Undisclosed 1

Link: TBD

Description: A critical vulnerability in Undisclosed 1 allows remote attackers to execute commands directly from the UI’s MCP configurations, by adding a new MCP server with a malicious payload.

Severity: Critical

Affected Versions: TBD

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2026-30624

Product: Agent Zero

Link: https://github.com/agent0ai/agent-zero 

Description: Agent Zero 0.9.8 contains a remote command execution vulnerability in its External MCP Servers configuration feature. The application allows users to define MCP servers using a JSON configuration containing arbitrary command and args values. These values are executed by the application when the configuration is applied without sufficient validation or restriction. An attacker may supply a malicious MCP configuration to execute arbitrary operating system commands, potentially resulting in remote command execution with the privileges of the Agent Zero process.

Severity: Critical

Affected Versions: All versions of Agent Zero

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: Unassigned

Product: LangBot

Link: https://github.com/langbot-app/LangBot 

Description: LangBot contains an authenticated remote command execution vulnerability within its MCP Server Configuration functionality. The application allows authenticated users to add an “STDIO” MCP server by specifying arbitrary command and argument values. Because the application utilizes StdioServerParameters to execute these given commands as a subprocess on the target machine without adequate validation or sanitization, an attacker can run arbitrary operating system commands. Successful exploitation may result in malicious actions such as data exfiltration or reverse shells, leading to remote command execution with the privileges of the LangBot process.

Severity: Critical

Affected Versions: All versions of LangBot

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: Unassigned

Product: Undisclosed 3

Link: Undisclosed 3

Description: Undisclosed 3 contains an authenticated remote command execution vulnerability within its MCP adapter configuration functionality. An attacker can exploit this by entering a malicious MCP configuration to run arbitrary operating system commands, potentially resulting in remote command execution with the privileges of the Undisclosed 3 process.

Severity: Critical

Affected Versions: All versions of Undisclosed 3

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2026-30618

Product: Fay Digital Human Framework (Fay数字人)

Link: https://github.com/xszyou/Fay 

Description: Fay (Fay数字人) contains an unauthenticated remote command execution vulnerability within its MCP adapter configuration functionality. The application allows users to add a new MCP server via the UI by supplying arbitrary command and argument values. Because the application processes this input through StdioServerParameters (specifically within faymcp/mcp_client.py) without proper sanitization or an approved allowlist, the underlying system directly executes the input as a subprocess. An attacker with access to the Web-GUI can exploit this by entering a malicious MCP configuration to run arbitrary operating system commands, resulting in remote code execution with the privileges of the Fay process.

Severity: Critical

Affected Versions: All versions of Fay Digital Human Framework (Fay数字人)

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2026-33224

Product: Bisheng

Link: https://github.com/dataelement/bisheng 

Description: Bisheng contains an authenticated remote command execution vulnerability within its MCP tool configuration functionality. Because the platform allows open user registration, any attacker can easily gain the required access. Once authenticated, an attacker can navigate to the “Add MCP Server” interface and submit a crafted JSON configuration specifying an “stdio” MCP client type with arbitrary command and argument values. The application routes this input through src/backend/bisheng/mcp_manage/manager.py and passes it directly into StdioServerParameters (within src/backend/bisheng/mcp_manage/clients/stdio.py) without sanitization or an approved allowlist. This results in the underlying system executing the malicious input as a subprocess, allowing the attacker to run arbitrary operating system commands and achieve remote code execution with the privileges of the Bisheng process.

Severity: Critical

Affected Versions: All versions of Bisheng <Will be updated>

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2026-30616

Product: Jaaz

Link: https://github.com/11cafe/jaaz 

Description: Jaaz 1.0.30 contains a remote command execution vulnerability in its MCP STDIO command execution handling. A remote attacker can send crafted network requests to the network-accessible Jaaz application, where MCP is enabled, causing attacker-controlled commands to be executed on the server. Successful exploitation results in arbitrary command execution within the context of the Jaaz service, potentially allowing full compromise of the affected system.

Severity: Critical

Affected Versions: All versions of Jaaz, not affecting the official jaaz platform (https://jaaz.app/)

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2026-30617

Product: Langchain-Chatchat

Link: https://github.com/chatchat-space/Langchain-Chatchat 

Description: LangChain-ChatChat 0.3.1 contains an unauthenticated remote command execution vulnerability in its MCP STDIO server configuration and execution handling. A remote attacker can access the publicly exposed MCP management interface and configure an MCP STDIO server with attacker-controlled commands and arguments. When the MCP server is started and MCP is enabled for agent execution, subsequent agent activity triggers execution of arbitrary commands on the server. Successful exploitation allows arbitrary command execution within the context of the LangChain-ChatChat service.

Severity: Critical

Affected Versions: All versions of LangChain-ChatChat (0.3.1)

Impact: Remote Command Execution (RCE), Full System Compromise

MCP Vulnerability Family #2: Unauthenticated command injection via direct STDIO configuration with hardening bypass

This family of vulnerabilities lets the attacker enter user-controlled commands which run directly on the server without authentication and without sanitization; but also with the ability to bypass already made protections and user input sanitization to the MCP configuration – both Upsonic and Flowise implemented protection from command injection by allowing only certain commands to run – such as “python”, “npm” and “npx”, removing the ability to directly send the command through the “command” parameter.

We were able to bypass this behavior by indirectly injecting the command via the allowed command’s arguments, for example – “npx -c <command>”.

image

CVE ID: CVE-2026-30625

Product: Upsonic

Link: https://github.com/Upsonic/Upsonic 

Description: Upsonic 0.71.6 contains a remote command execution vulnerability in its MCP server/task creation functionality. The application allows users to define MCP tasks with arbitrary command and args values. Although an allowlist exists, certain allowed commands (npm, npx) accept argument flags that enable execution of arbitrary OS commands. Maliciously crafted MCP tasks may lead to remote command execution with the privileges of the Upsonic process.

Upsonic decided to add a warning before using MCP tool initialization, warning users from running arbitrary commands through STDIO MCP configurations.

Severity: High

Affected Versions: All versions of Upsonic, a warning was issued on versions 0.72.0 and above

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: CVE-2026-40933

Product: Flowise

Link: https://github.com/FlowiseAI/Flowise 

Description: Flowise contains a remote command execution vulnerability in its add MCP configuration inside the UI. The application allows users to define MCP tasks with arbitrary command and args values. Although an allowlist exists, certain allowed commands (npm, npx) accept argument flags that enable execution of arbitrary OS commands. Maliciously crafted MCP tasks may lead to remote command execution with the privileges of the Flowise server.

Severity: High

Affected Versions: >3.1.0

Impact: Remote Command Execution (RCE), Full System Compromise

MCP Vulnerability Family #3: Unauthenticated command injection via MCP configuration edit through prompt injection

In this vulnerability family, IDEs and coding assistants such as Windsurf, Claude Code, Cursor, Gemini-CLI and GitHub Copilot are vulnerable to command injection via their MCP JSON configuration, the only issued CVE is for Windsurf, as the user’s prompt directly influences the MCP JSON configuration without user interaction.

All other IDEs and coding assistants we found this issue on – ask for at least one user interaction to allow the editing of the MCP JSON configuration file, even without the user knowing the contents and intent of the designated configuration, which in the IDE and coding assistant’s standards does not qualify as a vulnerability as the user had to explicitly allow the file modification.

Windsurf Prompt Injection to Local RCE (CVE 2026 30615)
Windsurf Prompt Injection to Local RCE (CVE 2026 30615)
image

CVE ID: CVE-2026-30615

Product: Windsurf

Link: https://windsurf.com/ 

Description: A prompt injection vulnerability in Windsurf 1.9544.26 allows remote attackers to execute arbitrary commands on a victim system. When Windsurf processes attacker-controlled HTML content, malicious instructions can cause unauthorized modification of the local MCP configuration and automatic registration of a malicious MCP STDIO server, resulting in execution of arbitrary commands without further user interaction. Successful exploitation may allow attackers to execute commands on behalf of the user, persist malicious MCP configuration changes, and access sensitive information exposed through the application.

Severity: Critical

Affected Versions: All

Impact: Remote Command Execution (RCE), Full System Compromise

MCP Vulnerability Family #4: Unauthenticated command injection via network request, triggering hidden STDIO configurations

In this family of vulnerabilities, the insecure MCP STDIO configuration is not shown the the user in the server’s Web-GUI, but the backend logic still contains STDIO processing logic, when an attacker crafts a malicious payload and sends it to the server, it triggers the STDIO configuration with an arbitrary command, triggering remote command execution on the server.

In these scenarios, the attacker enters either the production server of the project (For example – LettaAI, DocsGPT), and sees only an SSE or HTTP transport type configuration for the MCP server in the Web-GUI with no STDIO available. The attacker then configures one of these MCP servers and captures the network traffic using a local MITM proxy, then edits the request to change the sent transport type to be STDIO instead, and adds a “command” variable to the JSON’s payload – which triggers the remote command execution.

Example of a Web-GUI configuration without an STDIO option – 

image

Capturing the network request that contains only the HTTP MCP server configuration

image

Creating a new request with a modified JSON configuration, changing the “transport_type” to “stdio”, and adding a “command” and “args” variables to the JSON.

image

CVE ID: CVE-2026-26015

Product: DocsGPT (Formerly MemGPT)

Link: https://github.com/arc53/DocsGPT, https://www.docsgpt.cloud/ 

Description: DocsGPT contains a command injection vulnerability which affected both its production servers and local hosted services from its open source project.

An attacker crafting a network request for an MCP server configuration, and changing the transport type in the configured JSON to contain an STDIO type instead of SSE or HTTP, also adding an arbitrary command to the request’s payload can achieve remote command execution.

Severity: Critical

Affected Versions: 0.15.0 (latest)

  • Note: This vulnerability was already patched on their official website.

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: Unassigned

Product: LettaAI

Link: https://github.com/letta-ai/letta, https://letta.com/ 

Description: LettaAI contains a command injection vulnerability which affected both its production servers and local hosted services from its open source project.

An attacker crafting a network request for an MCP server configuration, with a JSON payload containing a server type of “stdio” alongside “command” and “arg” variables the request’s payload can achieve remote command execution.

Severity: Critical

Affected Versions: All.

  • Note: This vulnerability was already patched on their official website.

Impact: Remote Command Execution (RCE), Full System Compromise

CVE ID: TBD

Product: Undisclosed 2

Link: TBD

Description: A critical vulnerability in Undisclosed 2 allows remote attackers to upload a specific ██████ which triggers remote commands a malicious MCP STDIO configuration.

Severity: Critical

Affected Versions: TBD

Impact: Remote Command Execution (RCE), Full System Compromise

Won’t Be Patch Vulnerabilities: Our Rejected Disclosures

We disclosed the vulnerabilities to many other vendors and maintainers, this is a partial list of those we can publicly mention, that contain the MCP STDIO code that is able to execute code directly without sanitization, where vendors and maintainers disregarded our findings as expected behavior, either by stating one of the following

  • The system is designed to let the user execute code directly, and this is by design
  • Their code is the transport layer, and the developers using it are liable for their own implementation’s security.
  • The code is being executed inside a sandbox environment (like Docker) which prevents abuse and the ability to reach other users’ data.
    • While this statement is correct, it is still possible for threat actors to employ different attack scenarios like crypto mining, using their services as proxy, and getting free compute power.

Root & Transport Layer

  • Anthropic – Model Context Protocol
  • LangChain – langchain-mcp-adapters
  • FastMCP
  • browser-use/browser-use
  • Amazon, awslabs – run-model-context-protocol-servers-with-aws-lambda
  • NVIDIA – NeMo-Agent-Toolkit

IDEs & Coding Agents

  • Gemini-CLI
  • Claude Code
  • GitHub Copilot
  • Cursor

Applications

  • OpenHands
  • PromptFoo
  • Firebase Studio

Other STDIO MCP Vulnerabilities: Reported by other vendors and maintainers 

After our research and disclosure process, we found that vulnerabilities based on this same core issue were reported by different researchers as single findings relating to untrusted MCP STDIO input during 2025-2026.

  • CVE-2025-49596 – MCP inspector
  • CVE-2026-22252 – LibreChat
  • CVE-2026-22688 – WeKnora
  • CVE-2025-54994 – @akoskm/create-mcp-server-stdio
  • CVE-2025-54136 – Cursor

Tags:

post banner image

Run Every Security Test Your Code Needs

Pinpoint, investigate and eliminate code-level issues across the entire SDLC.

GET A PERSONALIZED DEMO
Frame 2085668530

Subscribe to Our Newsletter

Stay updated with the latest SaaS insights, tips, and news delivered straight to your inbox.

Security Starts at the Source