CVE-2026-104328: Langflow OSS: OS command injection allows authenticated RCE
HIGHIBM Langflow OSS 1.0.0 through 1.12.3 contains an OS command injection flaw (CWE-94) that lets any authenticated user execute arbitrary code on the server, rated CVSS 8.8 with a network-reachable, low-complexity attack path and no user interaction. It is not in CISA KEV, no public exploit or Nuclei template is known, and EPSS and SSVC data are not yet available, so current exploitation likelihood is unproven. However, Langflow has historically been a high-value target, and a low-privilege account is enough to reach the host, where LLM API keys, vector database credentials and connected data sources are typically stored. Upgrade to the fixed version listed in the IBM advisory (https://www.ibm.com/support/pages/node/7293015) as soon as possible, and until then restrict Langflow to trusted networks and review who holds accounts.
What is the risk?
High. The attack is network-based, low complexity, needs only low privileges and no user interaction, with full confidentiality, integrity and availability impact (CVSS 8.8). Mitigating factors: authentication is required, there is no known public exploit or scanner template, and the flaw is not in CISA KEV. EPSS and downstream dependent counts are unavailable, so real-world exposure cannot be quantified. Risk rises sharply for internet-exposed instances, multi-user deployments, or instances with open self-registration, where the authentication barrier is effectively removed.
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) Upgrade IBM Langflow OSS to the fixed release named in the IBM advisory (https://www.ibm.com/support/pages/node/7293015); versions 1.0.0 through 1.12.3 are affected. 2) Do not expose Langflow directly to the internet; place it behind a VPN or an authenticating reverse proxy and disable open self-registration. 3) Audit existing accounts and remove unneeded or shared ones. 4) Run Langflow as a non-root user in a container with minimal privileges, restricted egress and no host mounts. 5) Rotate LLM API keys, database credentials and other secrets stored on affected instances if compromise is suspected. 6) Detection: monitor for unexpected child processes spawned by the Langflow process, unusual outbound connections, and anomalous API calls to flow or component endpoints from low-privilege accounts.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-104328?
IBM Langflow OSS 1.0.0 through 1.12.3 contains an OS command injection flaw (CWE-94) that lets any authenticated user execute arbitrary code on the server, rated CVSS 8.8 with a network-reachable, low-complexity attack path and no user interaction. It is not in CISA KEV, no public exploit or Nuclei template is known, and EPSS and SSVC data are not yet available, so current exploitation likelihood is unproven. However, Langflow has historically been a high-value target, and a low-privilege account is enough to reach the host, where LLM API keys, vector database credentials and connected data sources are typically stored. Upgrade to the fixed version listed in the IBM advisory (https://www.ibm.com/support/pages/node/7293015) as soon as possible, and until then restrict Langflow to trusted networks and review who holds accounts.
Is CVE-2026-104328 actively exploited?
No confirmed active exploitation of CVE-2026-104328 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-104328?
1) Upgrade IBM Langflow OSS to the fixed release named in the IBM advisory (https://www.ibm.com/support/pages/node/7293015); versions 1.0.0 through 1.12.3 are affected. 2) Do not expose Langflow directly to the internet; place it behind a VPN or an authenticating reverse proxy and disable open self-registration. 3) Audit existing accounts and remove unneeded or shared ones. 4) Run Langflow as a non-root user in a container with minimal privileges, restricted egress and no host mounts. 5) Rotate LLM API keys, database credentials and other secrets stored on affected instances if compromise is suspected. 6) Detection: monitor for unexpected child processes spawned by the Langflow process, unusual outbound connections, and anomalous API calls to flow or component endpoints from low-privilege accounts.
What systems are affected by CVE-2026-104328?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, RAG pipelines, LLM workflow orchestration, low-code AI builders.
What is the CVSS score for CVE-2026-104328?
CVE-2026-104328 has a CVSS v3.1 base score of 8.8 (HIGH). The EPSS exploitation probability is 0.70%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012Valid AccountsAML.T0049Exploit Public-Facing ApplicationAML.T0050Command and Scripting InterpreterCompliance Controls Affected
What are the technical details?
Original Advisory
IBM Langflow OSS 1.0.0 through 1.12.3 could allow a remote authenticated attacker to execute arbitrary code due to improper neutralization of special elements used in an OS command.
Exploitation Scenario
An attacker obtains a low-privilege Langflow account, through self-registration, a phished user, or reused credentials. They send a crafted request to the vulnerable component or endpoint, embedding shell metacharacters or code that is passed unsanitized to the OS or interpreter. The server runs the payload and the attacker gets a shell, reads environment variables holding OpenAI and vector database keys, dumps stored flows, and then moves laterally into the cloud account or internal data sources the AI workflows connect to.
Weaknesses (CWE)
CWE-94Improper Control of Generation of Code ('Code Injection')PrimaryCWE-94Improper Control of Generation of Code ('Code Injection')CWE-94 — Improper Control of Generation of Code ('Code Injection'): The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
- [Architecture and Design] Refactor your program so that you do not have to dynamically generate code.
- [Architecture and Design] Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product. Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection. This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise. Be careful to avoid CWE-243 and other weaknesses related to jails.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/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