CVE-2026-19295: Langflow: auth'd RCE bypasses custom-component block
CRITICALPoC AVAILABLEA critical flaw in IBM Langflow OSS (1.0.0–1.11.1) lets any authenticated 'flow user' — even one with the lowest privilege level — escalate to arbitrary operating system command execution under the server process identity, simply by saving a flow with a crafted 'type' field and triggering a build of a wrapper flow that references it. What makes this dangerous rather than routine is that it defeats the platform's own guardrail: the LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false policy switch that operators rely on to lock down code execution is bypassed entirely, meaning organizations that believe they've disabled this attack surface are still exposed. With a CVSS of 9.9, network attack vector, low complexity, and no user interaction required beyond having any valid account, this is a near-worst-case combination for a self-hosted, internet-facing low-code AI orchestration tool. There is no evidence yet of a public exploit, Nuclei template, or CISA KEV listing, and EPSS data is unavailable, so treat this as high-severity-but-not-yet-weaponized. Action: patch to the fixed Langflow release immediately, and in the interim do not rely on LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false as a compensating control — restrict flow-authoring/build permissions to trusted users only and monitor server process logs for unexpected child processes spawned from the Langflow backend.
What is the risk?
Critical risk. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) reflects network-reachable exploitation with low complexity, requiring only low (authenticated) privileges and no user interaction, against a scope-changed target that yields full confidentiality, integrity, and availability compromise. The most concerning dimension is that this is a privilege-escalation-to-RCE bug that specifically bypasses a documented security control (LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false), so environments that hardened against custom-component RCE by disabling that flag remain vulnerable. No public exploit code, Nuclei template, or CISA KEV entry exists at time of writing, and EPSS data is not yet available, which somewhat lowers near-term mass-exploitation likelihood — but the low complexity and the fact that any authenticated low-privilege user (not just an admin) can trigger it makes this a prime target for insider threats, compromised low-privilege accounts, or multi-tenant Langflow deployments.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Langflow | pip | — | No patch |
Do you use Langflow? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Patch: upgrade to the IBM Langflow OSS release that fixes CVE-2026-19295 as soon as it is available/confirmed via the IBM support advisory (https://www.ibm.com/support/pages/node/7284733) — do not rely on the LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false flag as it does not fully mitigate this issue. 2) Restrict access: limit flow-authoring and flow-build permissions to trusted, need-to-know users only; treat every authenticated Langflow user as capable of RCE until patched. 3) Isolate: run Langflow server processes in a sandboxed/containerized environment with minimal filesystem and network privileges, and without direct access to sensitive credentials or internal networks, to limit blast radius if exploited. 4) Detect: monitor for unexpected child processes, shell invocations, or outbound network connections spawned by the Langflow server process, and audit flow save/build events for anomalous 'type' field values or unusual wrapper-flow references. 5) Network: avoid exposing Langflow instances directly to the internet without additional authentication/WAF layers in front of them.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-19295?
A critical flaw in IBM Langflow OSS (1.0.0–1.11.1) lets any authenticated 'flow user' — even one with the lowest privilege level — escalate to arbitrary operating system command execution under the server process identity, simply by saving a flow with a crafted 'type' field and triggering a build of a wrapper flow that references it. What makes this dangerous rather than routine is that it defeats the platform's own guardrail: the LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false policy switch that operators rely on to lock down code execution is bypassed entirely, meaning organizations that believe they've disabled this attack surface are still exposed. With a CVSS of 9.9, network attack vector, low complexity, and no user interaction required beyond having any valid account, this is a near-worst-case combination for a self-hosted, internet-facing low-code AI orchestration tool. There is no evidence yet of a public exploit, Nuclei template, or CISA KEV listing, and EPSS data is unavailable, so treat this as high-severity-but-not-yet-weaponized. Action: patch to the fixed Langflow release immediately, and in the interim do not rely on LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false as a compensating control — restrict flow-authoring/build permissions to trusted users only and monitor server process logs for unexpected child processes spawned from the Langflow backend.
Is CVE-2026-19295 actively exploited?
A weaponized Metasploit module (exploit/multi/http/langflow_auth_rce_cve_2026_19295) exists for CVE-2026-19295, meaning the exploit is point-and-click and the risk of opportunistic exploitation is high.
How to fix CVE-2026-19295?
1) Patch: upgrade to the IBM Langflow OSS release that fixes CVE-2026-19295 as soon as it is available/confirmed via the IBM support advisory (https://www.ibm.com/support/pages/node/7284733) — do not rely on the LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false flag as it does not fully mitigate this issue. 2) Restrict access: limit flow-authoring and flow-build permissions to trusted, need-to-know users only; treat every authenticated Langflow user as capable of RCE until patched. 3) Isolate: run Langflow server processes in a sandboxed/containerized environment with minimal filesystem and network privileges, and without direct access to sensitive credentials or internal networks, to limit blast radius if exploited. 4) Detect: monitor for unexpected child processes, shell invocations, or outbound network connections spawned by the Langflow server process, and audit flow save/build events for anomalous 'type' field values or unusual wrapper-flow references. 5) Network: avoid exposing Langflow instances directly to the internet without additional authentication/WAF layers in front of them.
What systems are affected by CVE-2026-19295?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, low-code AI orchestration pipelines, multi-tenant AI builder platforms.
What is the CVSS score for CVE-2026-19295?
CVE-2026-19295 has a CVSS v3.1 base score of 9.9 (CRITICAL). The EPSS exploitation probability is 1.55%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012Valid AccountsAML.T0050Command and Scripting InterpreterAML.T0081Modify AI Agent ConfigurationCompliance Controls Affected
What are the technical details?
Original Advisory
IBM Langflow OSS 1.0.0 through 1.11.1 allows an authenticated attacker to execute arbitrary operating system commands in the server process by saving a flow with a crafted type field value and triggering a build of a wrapper flow that references it. This allowed privilege escalation from "authenticated flow user" to arbitrary OS-level command execution under the server process identity, bypassing the LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false policy control.
Exploitation Scenario
An attacker obtains or already holds a low-privileged, authenticated 'flow user' account on a shared or multi-tenant Langflow instance (e.g., via a phished credential, an internal developer account, or a trial/free-tier signup on a Langflow-based SaaS product). The attacker creates a new flow and sets a component's 'type' field to a specially crafted value designed to be interpreted as an executable operation rather than a benign component reference. They then create a second 'wrapper flow' that references the first, and trigger a build of the wrapper flow through Langflow's normal build/run UI or API. During the build process, the server evaluates the crafted type field and executes it as an OS-level command under the server's process identity — completely bypassing the LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false setting the operator configured specifically to prevent this class of attack. The attacker now has a reverse shell or command execution primitive on the Langflow host, from which they can pivot to read environment secrets (LLM API keys, database credentials), access other tenants' flows/data, or move laterally into connected infrastructure.
Weaknesses (CWE)
CWE-95Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')PrimaryCWE-95Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')CWE-95 — Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection'): The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval").
- [Architecture and Design, Implementation] If possible, refactor your code so that it does not need to use eval() at all.
- [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylis
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HReferences
Timeline
Related Vulnerabilities
CVE-2026-1056110.0Langflow: auth bypass + unauthenticated RCE (CVSS 10)
Same package: langflowCVE-2026-1013410.0Langflow: unauthenticated RCE via tool_code injection
Same package: langflowCVE-2026-333099.9langflow: Path Traversal enables file access
Same package: langflowCVE-2026-552559.9Langflow: IDOR allows cross-user flow execution
Same package: langflowCVE-2026-78739.9Langflow: authenticated RCE enables credential theft
Same package: langflow