Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any Langflow user
-
DeliveryAdd MCP server with Stdio transport
-
ExploitInject OS command (and LD_PRELOAD/PATH env)
-
ExecutionTrigger server-list fetch
-
Persistbash -c exec runs command
-
ImpactRCE as Langflow host process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Langflow account (CVSS PR:L) with the ability to create/add an MCP server configuration using the 'Stdio' transport - a standard built-in feature, not a non-default or specially hardened setting, in versions prior to 1.9.0. The specific trigger is the MCP server's user-supplied 'command' field, which is passed to bash -c "exec {command}" with no allowlist, validation, or sandboxing; the 'env' field additionally permits LD_PRELOAD/PATH-style injection. Execution fires automatically when the MCP server list is fetched (no further victim interaction needed, UI:N). Limiting factors: attacker must be authenticated and must reach the MCP-server configuration function; environments that restrict account creation or MCP configuration to trusted admins substantially reduce exposure. Not exploitable on 1.9.0+, where commands are restricted to an allowlist (node/python/npx/uvx/docker/shell-wrappers) and dangerous env vars are blocked. |
| Impact | This is a genuine high-priority issue, not an inflated CVSS score. The 9.9 rating is driven by AV:N/AC:L/UI:N and a scope change (S:C) with full C:H/I:H/A:H impact - i.e., authenticated-but-low-privilege command execution that escapes the application boundary to the host OS. The one mitigating signal in the CVSS vector is PR:L: exploitation requires a valid authenticated Langflow account, so this is not fully anonymous/internet-wide. However, in typical Langflow deployments any authenticated user (including low-trust or self-registered users) can add an MCP server, making PR:L a weak barrier. No EPSS score was provided in the input, and there is no CISA KEV listing and no public exploit flagged, so exploitation status is 'no public exploit identified at time of analysis.' The technical bar is trivial once authenticated (user-supplied command passed directly to bash -c with no validation), so absence of a published POC should not be read as low real risk - the fix commit itself documents the exact unsafe code path. SSVC framing: exploitation=none observed, automatable=no (requires an authenticated session and a UI/API action), technical impact=total. Note: the input provides a patch/fix commit as 'source code evidence,' which confirms the vulnerability and the fix but is NOT a weaponized exploit - do not conflate the two. |
| Exploit ScenarioDerived | An attacker with any authenticated Langflow account (prior to 1.9.0) adds a new MCP server using the 'Stdio' transport and sets the command field to an arbitrary OS command (optionally injecting LD_PRELOAD or PATH via the env field). When the server list is fetched, Langflow executes bash -c "exec {command}" on the host, yielding immediate remote code execution as the Langflow process user. No public exploit code was identified in the input, but the attack is trivial to reproduce from the vulnerability description and fix diff. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Authenticated users of Langflow versions prior to 1.9.0 can achieve remote code execution on the underlying host by adding an MCP server that uses the Stdio transport, because the user-supplied command field is passed directly to a shell with no validation, allowlisting, or sandboxing; the injected command executes immediately when the MCP server list is fetched, requiring no further victim interaction, and the env field additionally permits environment-variable injection (for example LD_PRELOAD or PATH overrides) for a second code-execution path. The vendor has issued a fix in 1.9.0 that restricts MCP stdio commands to an allowlist and blocks dangerous environment variables, and no public exploit code has been identified at time of analysis. The 9.9 CVSS score reflects the vector's scope change (S:C) and high confidentiality, integrity, and availability impact, though practical exploitability depends on the attacker holding a valid authenticated Langflow account with access to MCP server configuration.
RemediationAI
Upgrade Langflow to 1.9.0 or later, which is the vendor-released patch version and the specific release referenced in the advisories; the corresponding upstream fix is commit efbc4a16e639409d938a4883463d27ef0bc637a0 delivered via pull request https://github.com/langflow-ai/langflow/pull/12290, with advisory details at https://github.com/langflow-ai/langflow/security/advisories/GHSA-7w94-79vh-5mr2 and https://github.com/langflow-ai/langflow/security/advisories/GHSA-w794-rj3p-xv45. Where an immediate upgrade is not possible, the most effective compensating control is to restrict creation and modification of MCP server configurations (and account creation generally) to trusted administrators, since the vulnerability requires an authenticated account with access to that function; the trade-off is reduced self-service flexibility for workflow authors, but it removes the practical attack prerequisite. Because the vulnerable command executes with the privileges of the Langflow backend process, run the service as a dedicated low-privilege user inside a container or namespace with a read-only root filesystem, dropped Linux capabilities, no host mounts, and egress network filtering, understanding that containment reduces blast radius rather than preventing the initial command execution. Additionally, disable or refuse MCP servers using the Stdio transport entirely if that capability is not needed, accepting the loss of local MCP tooling while eliminating the injection surface, and audit existing MCP server records for suspicious command strings and for environment variables such as LD_PRELOAD, PATH, BASH_ENV, PYTHONSTARTUP or NODE_OPTIONS, removing any that were injected prior to patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Langflow is a low-code platform for building and deploying AI agents and workflows, and it supports connecting to Model Context Protocol (MCP) servers. The affected code path is the 'Stdio' transport for MCP servers, where Langflow spawns a local process using the operator- or user-supplied 'command' field, ultimately through a shell invocation of the form bash -c "exec {command}". This is a classic CWE-78 OS command injection root cause: the command string is interpolated into a shell context without escaping, allowlisting, or a sandbox, so shell metacharacters and arbitrary binaries can be executed with the privileges of the Langflow backend process. Compounding the issue, the accompanying 'env' field allows arbitrary environment-variable injection, which enables native-code loading and command-resolution hijacking via variables such as LD_PRELOAD, LD_LIBRARY_PATH, DYLD_INSERT_LIBRARIES, GCONV_PATH, PATH, BASH_ENV, PYTHONSTARTUP, NODE_OPTIONS, HOME and XDG_CONFIG_HOME. The upstream fix commit efbc4a16e639409d938a4883463d27ef0bc637a0 rewrites the MCPServerConfig Pydantic model to add a field validator enforcing an ALLOWED_MCP_COMMANDS frozenset (node, python, python3, npx, uvx, docker, and the shell wrappers cmd, sh, bash) plus model validators that inspect shell-wrapper arguments, reject dangerous shell metacharacters, block dangerous keywords such as -c, -e, pip, install and eval, deny docker isolation-breaking flags like --privileged and --cap-add, and reject the enumerated dangerous environment variables. Notably, the fix retains shell wrappers when they wrap approved commands, so the security boundary now rests on argument and environment validation rather than on removing shell execution entirely.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Network-reachable API with trivial exploitation requires a low-privilege authenticated account (PR:L); command execution escapes the app context to the host OS (S:C) with total C/I/A impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
Langflow is a tool for building and deploying AI-powered agents and workflows. Prior to 1.9.0, any authenticated Langflow user can achieve Remote Code Execution (RCE) on the server by adding an MCP server with the "Stdio" transport. The user-supplied command field is passed directly to bash -c "exec {command}" with zero validation, no allowlisting, and no sandboxing. The command executes immediately when the server list is fetched. Additionally, the env field allows arbitrary environment variable injection (e.g., LD_PRELOAD, PATH override). This vulnerability is fixed in 1.9.0.
Technical POC Analysis
CWE-78, OS command injection.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Organizations using Langflow versions prior to 1.9.0 for AI workflow orchestration are exposed to a critical remote code execution vulnerability that allows an attacker to execute arbitrary commands on the underlying host. This could result in full compromise of the Langflow instance and connected systems, leading to data breaches, service disruption, and potential lateral movement. Leadership should prioritize immediate remediation because Langflow is often central to AI operations, and a compromise could undermine trust and expose sensitive data.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-92799
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB