CVE-2026-76059: Langflow: RCE via scanner bypass in custom components

HIGH
Published September 10, 2026
CISO Take

IBM Langflow's static security scanner, meant to block dangerous callables in user-submitted custom component code, can be defeated with a crafted annotated class-body assignment that resolves to a blocklisted function through alias tracking the scanner never checks. If the crafted component reaches the runtime execution path, an attacker needs only low privileges and no user interaction to run arbitrary OS commands with the privileges of the Langflow service, over the network, with low attack complexity — reflected in the 8.8 CVSS score. There is no EPSS data, no CISA KEV listing, and no public exploit or Nuclei template yet, so exploitation isn't confirmed in the wild, but Langflow's core value proposition is letting users author and run custom components, which puts this bypass squarely on the product's primary trust boundary. Any team running Langflow-based agent or RAG pipelines that lets non-fully-trusted users create or edit custom components should upgrade past 1.11.5 immediately, restrict custom-component authoring to trusted admins in the interim, and monitor the Langflow process for unexpected child processes or outbound connections as a compensating control.

Sources: NVD ATLAS

What is the risk?

High risk despite no confirmed exploitation. Network-exploitable (AV:N), low complexity (AC:L), only low privileges required, no user interaction, and full compromise of confidentiality, integrity and availability (C:H/I:H/A:H) once triggered. The bypass defeats the specific control designed to stop exactly this class of attack (a code-execution sandbox/scanner), which is worse than a generic missing check — it means the product's stated security boundary for custom components does not hold. Absence from CISA KEV and lack of EPSS/public exploit data lower near-term likelihood but do not lower severity; scanner-bypass RCEs in popular agent frameworks are high-value targets once details circulate.

How does the attack unfold?

Initial Access
Attacker with low-privileged access to a Langflow instance opens the custom component editor to submit component source code.
AML.T0049
Defense Evasion
Crafted annotated class-body assignment aliases a dangerous callable, and the alias-tracking logic error lets it slip past the static security scanner's blocklist check.
AML.T0107
Execution
When the malicious component is run as part of a flow, the aliased callable executes in-process, triggering arbitrary OS command execution.
AML.T0050
Impact
Attacker gains code execution with the privileges of the running Langflow service, enabling data theft, credential access, or lateral movement.

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Langflow pip No patch
154.7K Pushed 7d ago 17% patched ~70d to patch Full package profile →

Do you use Langflow? You're affected.

How severe is it?

CVSS 3.1
8.8 / 10
EPSS
0.5%
chance of exploitation in 30 days
Higher than 40% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Advanced

What is the attack surface?

AV AC PR UI S C I A
AV Network
AC Low
PR Low
UI None
S Unchanged
C High
I High
A High

What should I do?

1 step
  1. 1) Upgrade Langflow to a version beyond 1.11.5 that fixes the alias-tracking logic error in the scanner (check IBM's advisory for the exact patched version). 2) Until patched, restrict custom component creation/editing to fully trusted administrators only — treat the custom component editor as equivalent to a code execution console. 3) Run Langflow in a hardened, isolated environment (dedicated container/VM with minimal privileges, no access to unrelated secrets or internal networks) so that in-process RCE has limited blast radius. 4) Monitor Langflow server processes for anomalous child process spawning, unexpected outbound network connections, or shell invocations. 5) Review audit logs for recent custom component submissions from non-admin accounts and inspect their source for suspicious annotated class-body assignments or blocklisted-callable aliasing patterns. 6) If available, enable any additional runtime sandboxing (containerized component execution, seccomp/AppArmor profiles) as defense-in-depth beyond the static scanner.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact total

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:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
Annex A.6.2 - AI system security
NIST AI RMF
MEASURE 2.7 - AI system security and resilience is evaluated and documented
OWASP LLM Top 10
LLM06 - Excessive Agency

Frequently Asked Questions

What is CVE-2026-76059?

IBM Langflow's static security scanner, meant to block dangerous callables in user-submitted custom component code, can be defeated with a crafted annotated class-body assignment that resolves to a blocklisted function through alias tracking the scanner never checks. If the crafted component reaches the runtime execution path, an attacker needs only low privileges and no user interaction to run arbitrary OS commands with the privileges of the Langflow service, over the network, with low attack complexity — reflected in the 8.8 CVSS score. There is no EPSS data, no CISA KEV listing, and no public exploit or Nuclei template yet, so exploitation isn't confirmed in the wild, but Langflow's core value proposition is letting users author and run custom components, which puts this bypass squarely on the product's primary trust boundary. Any team running Langflow-based agent or RAG pipelines that lets non-fully-trusted users create or edit custom components should upgrade past 1.11.5 immediately, restrict custom-component authoring to trusted admins in the interim, and monitor the Langflow process for unexpected child processes or outbound connections as a compensating control.

Is CVE-2026-76059 actively exploited?

No confirmed active exploitation of CVE-2026-76059 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-76059?

1) Upgrade Langflow to a version beyond 1.11.5 that fixes the alias-tracking logic error in the scanner (check IBM's advisory for the exact patched version). 2) Until patched, restrict custom component creation/editing to fully trusted administrators only — treat the custom component editor as equivalent to a code execution console. 3) Run Langflow in a hardened, isolated environment (dedicated container/VM with minimal privileges, no access to unrelated secrets or internal networks) so that in-process RCE has limited blast radius. 4) Monitor Langflow server processes for anomalous child process spawning, unexpected outbound network connections, or shell invocations. 5) Review audit logs for recent custom component submissions from non-admin accounts and inspect their source for suspicious annotated class-body assignments or blocklisted-callable aliasing patterns. 6) If available, enable any additional runtime sandboxing (containerized component execution, seccomp/AppArmor profiles) as defense-in-depth beyond the static scanner.

What systems are affected by CVE-2026-76059?

This vulnerability affects the following AI/ML architecture patterns: agent frameworks, low-code AI pipeline builders, RAG pipelines, model serving.

What is the CVSS score for CVE-2026-76059?

CVE-2026-76059 has a CVSS v3.1 base score of 8.8 (HIGH). The EPSS exploitation probability is 0.47%.

What is the AI security impact?

Affected AI Architectures

agent frameworkslow-code AI pipeline buildersRAG pipelinesmodel serving

MITRE ATLAS Techniques

AML.T0049 Exploit Public-Facing Application
AML.T0050 Command and Scripting Interpreter
AML.T0107 Exploitation for Defense Evasion

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: Annex A.6.2
NIST AI RMF: MEASURE 2.7
OWASP LLM Top 10: LLM06

What are the technical details?

Original Advisory

IBM Langflow OSS 1.0.0 through 1.11.5 An attacker who could submit custom component source code could bypass the static security scanner by crafting an annotated class-body assignment that resolved to a dangerous callable through alias tracking; the resolved value was never checked against the dangerous callable blocklist due to the logic error. If the crafted component reached the runtime execution path, the attacker could cause arbitrary operating system commands to execute on the server in-process, with the privileges of the running service.

Exploitation Scenario

An attacker who has obtained low-privileged access to a Langflow instance (e.g., a standard user account on a shared internal deployment, or a compromised low-privilege API key) opens the custom component editor and submits component source code containing a class-body assignment with a type annotation that aliases a dangerous callable (such as a subprocess or os.system-equivalent function). Langflow's static scanner inspects the code for known-dangerous callables against a blocklist but fails to resolve the alias back to the original dangerous function due to a logic error in its alias-tracking. The component passes the scan and is saved. When another user (or an automated flow) runs the flow containing this component, the aliased callable executes in-process on the Langflow server, allowing the attacker to run arbitrary OS commands with the service's privileges — potentially pivoting to read environment secrets, access the underlying database, or move laterally within the hosting network.

Weaknesses (CWE)

CWE-693 — Protection Mechanism Failure: The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Timeline

Published
September 10, 2026
Last Modified
September 16, 2026
First Seen
September 10, 2026

Related Vulnerabilities