Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| langflow-ai | langflow | affected |
|
||||||
| langflow-ai | langflow-base | affected |
|
||||||
| langflow-ai | lfx | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Langflow | Langflow |
|
||||||||
| Langflow | Langflow-base |
|
||||||||
| Langflow | Lfx |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-w794-rj3p-xv45 | Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: 1.5% (1.494% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Langflow
Langflow langflow Langflow langflow-base Langflow lfx |
|
| Vendors & Products |
Langflow
Langflow langflow Langflow langflow-base Langflow lfx |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Langflow is a tool for building and deploying AI-powered agents and workflows. Before Langflow 1.10.3, the MCP stdio transport launched whatever command / args a user put in an MCP server configuration, with no allowlist and (before 1.10.3) wrapped in bash -c "exec {command} ...". Any user able to reach the MCP server settings ("Settings → MCP Servers → Add MCP Server", POST/PATCH /api/v2/mcp/servers/{server_name}) or to build a flow with the MCP Tools component could add a "server" whose command is an arbitrary OS command (touch, rm -rf, a reverse shell, ...). The command runs on the Langflow host as the Langflow process user as soon as Langflow tries to connect to the server (listing servers, loading tools, running the flow) — even when the UI then reports that the stdio server failed to start. With the default LANGFLOW_AUTO_LOGIN=true, GET /api/v1/auto_login hands out a token without credentials, so on an exposed instance running the default configuration this is reachable without an account. AUTO_LOGIN is documented as a development-only setting; with it disabled, any authenticated (non-admin) user can exploit it. This issue is fixed in Langflow 1.10.3, langflow-base 0.10.3, and lfx 1.10.3. | |
| Title | Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration | |
| Weaknesses | CWE-78 | |
| References |
|
|
| Metrics |
cvssV3_1
|