CVE-2026-93674
Executive Summary
CVE-2026-93674 is a critical (CVSS 9.8) remote code execution vulnerability in IBM Langflow OSS versions 1.0.0 through 1.12.2, caused by improper neutralization of special elements used in an OS command (CWE-94, code injection leading to OS command execution). An unauthenticated network attacker can exploit this flaw to execute arbitrary operating system commands on the host running Langflow, resulting in full compromise of confidentiality, integrity, and availability. No patch, public proof-of-concept, or in-the-wild exploitation evidence is currently available, but the severity and low attack complexity make urgent mitigation essential.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability is classified under CWE-94 (Improper Control of Generation of Code / Code Injection) and, per the NVD description, manifests as improper neutralization of special elements used in an OS command. This is the classic pattern in which externally supplied input is incorporated into an OS command without adequate sanitization or escaping, allowing an attacker to append or inject additional commands or shell metacharacters that the underlying operating system then executes.
The NVD description states that a remote attacker could exploit this without authentication or user interaction, which is reflected in the CVSS vector (AV:N/AC:L/PR:N/UI:N). This indicates the vulnerable functionality is reachable over the network and does not require valid credentials. Langflow is a low-code / visual framework for building LLM and agent-based applications, and such platforms commonly expose components that invoke external tooling, subprocesses, or system utilities on behalf of user-configured flows. Where those invocations pass unsanitized user-controlled data into a command interpreter, an injected payload is executed in the context of the Langflow service process.
The precise injection sink (for example, a specific tool, endpoint, or parameter) is not disclosed in the available NVD description or CNA title, and no public proof-of-concept, exploit code, or Nuclei template exists at the time of writing. Consequently, the exact code path cannot be confirmed from open data. No specific function names, endpoints, file paths, or parameters are asserted here because none are provided in the source material. The attack chain below is therefore described at the vulnerability-class level: OS command injection, in which attacker-supplied special elements (such as command separators or shell metacharacters) are reflected into an OS command executed by the vulnerable service.
Because scope is unchanged (S:U) in the CVSS vector, impact is confined to the Langflow application and the host it runs on, rather than crossing a security authority boundary — but the achieved code execution grants the attacker the full privilege set of the Langflow process.
Exploitation Scenarios
No public proof-of-concept is available; the attack chain below is inferred from the vulnerability class (OS command injection, CWE-94) and the unauthenticated, network-reachable profile in the CVSS vector.
Reconnaissance / target identification: An attacker identifies internet- or intranet-exposed Langflow instances. Langflow exposes a web interface and API; fingerprinting can be performed via the HTTP interface title and body markers (see Shodan dorks). The attacker confirms the running version falls within the affected 1.0.0 – 1.12.2 range.
Triggering the flaw: The attacker locates a feature that results in the application constructing and executing an OS command using supplied input. Because the neutralization of special elements is improper, the attacker supplies input containing operating-system command separators or shell metacharacters. The application concatenates this input into the command that is passed to the OS, causing the injected elements to be interpreted by the shell rather than treated as inert data. This step requires no authentication and no user interaction (PR:N, UI:N).
Payload / execution method: At the vulnerability-class level, the attacker embeds an OS command as the injected element (for example, appending a command after a separator character). The OS executes this command in the security context of the Langflow process. The exact payload syntax depends on the undisclosed sink and the host operating system; no specific parameter or endpoint can be named from the available data.
Post-exploitation impact: Successful injection yields arbitrary OS command execution with the privileges of the Langflow service. This enables reading and exfiltrating sensitive data (including configuration, secrets, LLM API keys, and flow definitions), modifying or destroying data, establishing persistence, pivoting to other internal systems reachable from the host, and potentially escalating privileges if the service runs with elevated rights. The CVSS subscores (C:H/I:H/A:H) confirm total loss of confidentiality, integrity, and availability for the affected component.
Impact Assessment
Business impact is severe. With a CVSS base score of 9.8 and vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, exploitation requires no privileges and no user interaction and is trivially automatable against any reachable instance. Any organization running an exposed Langflow OSS instance in the affected version range is at risk of full host compromise.
Blast radius considerations: Langflow deployments frequently hold credentials for downstream LLM providers, vector databases, and internal services, and may run with access to internal networks. Compromise of a single instance can therefore act as a beachhead for lateral movement and data exfiltration. Because scope is unchanged, the formal CVSS impact is limited to the vulnerable component, but practical downstream impact commonly exceeds that boundary. EPSS has not yet been scored by FIRST.org, so probabilistic exploitation likelihood cannot be quantified at this time. CVE-2026-93674 is not listed in CISA KEV. No public exploit code or PoC exists, which currently lowers the immediate likelihood of mass exploitation, though the low complexity means weaponization is feasible once the sink is identified.
Detection Guidance
Sigma Rule
title: Potential Langflow OS Command Injection Exploitation (CVE-2026-93674)
id: 7f3c1a2e-9367-4c0b-b1a4-0c0c20269367
status: experimental
description: Detects suspicious process creation consistent with OS command injection in Langflow (CWE-94, CVE-2026-93674). Tune shell metacharacter patterns to your environment.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-93674
author: valtersit.com
date: 2026/01/01
logsource:
category: process_creation
product: linux
detection:
selection_parent:
ParentImage|endswith:
- 'python'
- 'python3'
- 'uvicorn'
selection_shell:
Image|endswith:
- '/sh'
- '/bash'
- '/dash'
- '/bin/zsh'
selection_suspicious:
CommandLine|contains:
- ';'
- '&&'
- '||'
- '`'
- '$('
- '|'
condition: selection_parent and selection_shell and selection_suspicious
fields:
- ParentImage
- Image
- CommandLine
- User
falsepositives:
- Legitimate Langflow components that intentionally invoke system tools
level: high
tags:
- attack.t1190
- cve.2026.93674
YARA Rule
rule CVE_2026_93674_Langflow_OS_Command_Injection
{
meta:
description = "Detects shell metacharacter injection patterns associated with Langflow OS command injection (CVE-2026-93674)"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-93674"
date = "2026-01-01"
severity = "critical"
strings:
$meta1 = "&&"
$meta2 = "||"
$meta3 = "$("
$meta4 = "`"
$cmd1 = "/bin/sh"
$cmd2 = "/bin/bash"
$cmd3 = "curl "
$cmd4 = "wget "
$cmd5 = "nc -e"
$langflow = "langflow" nocase
condition:
$langflow and 2 of ($meta*) and 1 of ($cmd*)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-93674 Langflow OS Command Injection Attempt"; flow:to_server,established; http.method; content:"POST"; http.uri; content:"langflow"; nocase; http.request_body; content:"|3b|"; content:"|26 26|"; content:"|24 28|"; reference:cve,2026-93674; classtype:web-application-attack; sid:20269367; rev:1;)
Elastic Detection
process where event.type == "start" and
process.parent.name in ("python", "python3", "uvicorn") and
process.name in ("sh", "bash", "dash", "zsh") and
process.command_line like~ ("*;*", "*&&*", "*||*", "*$( *", "*`*")
Splunk SPL Query
index=edr OR index=sysmon EventCode=1
(ParentImage="*python*" OR ParentImage="*uvicorn*")
(Image="*/sh" OR Image="*/bash" OR Image="*/dash")
(CommandLine="*;*" OR CommandLine="*&&*" OR CommandLine="*||*" OR CommandLine="*$( *" OR CommandLine="*`*")
| stats count min(_time) as first_seen max(_time) as last_seen by host, User, ParentImage, Image, CommandLine
| sort - count
Wazuh OSSEC Rule
<group name="langflow,web,attack,">
<rule id="202693" level="12">
<if_group>web|accesslog</if_group>
<match>langflow</match>
<regex>(\;|\&\&|\|\||\$\(|\x60)</regex>
<description>CVE-2026-93674: Possible Langflow OS command injection attempt detected</description>
<mitre>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor fix, workaround, or patch reference is available from any tracked source at this time.
- Immediate mitigations:
- Restrict network exposure of Langflow instances. Remove public internet access and place instances behind authentication-aware reverse proxies or zero-trust gateways wherever operationally possible.
- Apply network segmentation and strict egress filtering so that a compromised instance cannot freely reach internal services or the internet.
- Enforce least privilege for the Langflow service account. Do not run the service as root or with broad filesystem/network rights; this limits the blast radius of command execution.
- Enable comprehensive logging (process creation, HTTP access logs, API audit logs) and alert on the detection rules above.
- Patch/upgrade steps:
- No fixed version is identified and no patch is available. Monitor the vendor (IBM Langflow OSS) channels and the NVD entry for CVE-2026-93674 for the release of a patched version. As soon as a fix is published, test and upgrade to the fixed release. Until then, treat all versions 1.0.0 through 1.12.2 as vulnerable.
- Long-term hardening:
- Adopt a vulnerability management process that tracks embedded LLM/agent frameworks like Langflow as first-class inventory items.
- Enforce input validation and safe command construction practices in any custom flows or components; avoid passing user-controlled data into OS command interpreters.
- Implement runtime application self-protection or host-based command execution monitoring for the Langflow process.
- Apply the principle of least privilege and just-in-time access for services that invoke external tooling.
References
- NVD — CVE-2026-93674: https://nvd.nist.gov/vuln/detail/CVE-2026-93674
- CWE-94 (Improper Control of Generation of Code): https://cwe.mitre.org/data/definitions/94.html
- CWE-78 (Improper Neutralization of Special Elements used in an OS Command): https://cwe.mitre.org/data/definitions/78.html
- MITRE ATT&CK T1190 (Exploit Public-Facing Application): https://attack.mitre.org/techniques/T1190/
- FIRST EPSS: https://www.first.org/epss (CVE-2026-93674 not yet scored)
No threat actor campaigns or exploit-in-the-wild evidence are currently associated with CVE-2026-93674. The vulnerability is not listed in CISA KEV, and no public PoC, exploit code, or Nuclei template exists at the time of writing.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.