# CVE-2026-33017: Langflow Code Injection

> Unauthenticated attackers can execute arbitrary Python code via the public flow build endpoint in Langflow.

- **Severity:** Critical 9.3 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L`)
- **Exploited in the wild:** Yes, since 25 Mar 2026 (CISA KEV)
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 20 Mar 2026
- **Updated:** 21 May 2026
- **Also known as:** GHSA-vwmf-pq79-vjvx, PYSEC-2026-379

## What is CVE-2026-33017?

CVE-2026-33017 is a critical code injection vulnerability in Langflow Langflow, published on 20 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Langflow is a tool for building and deploying AI-powered agents and workflows. In versions prior to 1.9.0, the POST /api/v1/build_public_tmp/{flow_id}/flow endpoint allows building public flows without requiring authentication. When the optional data parameter is supplied, the endpoint uses attacker-controlled flow data (containing arbitrary Python code in node definitions) instead of the stored flow data from the database. This code is passed to exec() with zero sandboxing, resulting in unauthenticated remote code execution. This is distinct from CVE-2025-3248, which fixed /api/v1/validate/code by adding authentication. The build_public_tmp endpoint is designed to be unauthenticated (for public flows) but incorrectly accepts attacker-supplied flow data containing arbitrary executable code. This issue has been fixed in version 1.9.0.

Weakness: CWE-95 (Improper Neutralization of Directives in Dynamically Evaluated Code), CWE-94 (Improper Control of Generation of Code), CWE-306 (Missing Authentication for Critical Functionality)

## Which versions are affected by CVE-2026-33017?

3 open source packages ship an affected version, including langflow. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `langflow` | PyPI | All versions | 1.9.0 |
| `langflow` | PyPI | All versions | 1.9.0 |
| `langflow` | PyPI | All versions | 1.9.0 |

Products: Langflow Langflow.

## How do I fix CVE-2026-33017?

Upgrade langflow to 1.9.0 or later. US federal agencies must fix it by 8 Apr 2026.

## Is CVE-2026-33017 being exploited?

Yes. Attackers have exploited CVE-2026-33017 in the wild since at least 25 Mar 2026.

Public exploit code:

- Langflow RCE (github_poc): https://github.com/EQSTLab/CVE-2026-33017
- CVE-2026-33017 - An unauthenticated remote code execution in Langflow <= 1.8.1 via Public Flow Build Endpoint (github_poc): https://github.com/MaxMnMl/langflow-CVE-2026-33017-poc
- CVE-2026-33017: Unauthenticated RCE in Langflow (github_poc): https://github.com/z4yd3/PoC-CVE-2026-33017
- Python POC, Exploit for CVE-2026-33017 (github_poc): https://github.com/c0gnit00/CVE-2026-33017
- CVE-2026-33017 exploitation tool for Langflow <1.9.0. Features reverse shells, command execution, file operations, persistence, and automated testing. Validates critical RCE vulnerability impact. For authorized security assessments only. (github_poc): https://github.com/CerberusMrXi/Langflow-cve-2026-33017-exploit
- The vulnerability in Langflow 1.8.1 and earlier allows a remote, unauthenticated attacker to achieve arbitrary command execution on the host. (github_poc): https://github.com/omer-efe-curkus/CVE-2026-33017-Langflow-RCE-PoC

## Other vulnerabilities in Langflow Langflow

- [CVE-2026-9198](https://insights.sbomify.com/CVE-2026-9198/): IBM Langflow Code Injection (critical 9.8, exploited in the wild)
- [CVE-2026-0770](https://insights.sbomify.com/CVE-2026-0770/): Langflow Inclusion of Functionality from Untrusted Control Sphere (critical 9.8, exploited in the wild)
- [CVE-2025-3248](https://insights.sbomify.com/CVE-2025-3248/): Langflow Missing Authentication (critical 9.8, exploited in the wild)
- [CVE-2025-34291](https://insights.sbomify.com/CVE-2025-34291/): Langflow Origin Validation Error (critical 9.4, exploited in the wild)
- [CVE-2026-55255](https://insights.sbomify.com/CVE-2026-55255/): Langflow Authorization Bypass Through User-Controlled Key (high 8.4, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-33017 and fix it if it is affected.

What it is: CVE-2026-33017 is a critical code injection vulnerability in Langflow Langflow, published on 20 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: Yes. Attackers have exploited CVE-2026-33017 in the wild since at least 25 Mar 2026.

Affected packages and fixed versions:
- langflow (PyPI): affected all versions; fixed in 1.9.0
- langflow (PyPI): affected all versions; fixed in 1.9.0
- langflow (PyPI): affected all versions; fixed in 1.9.0

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-33017/ (Markdown: https://insights.sbomify.com/CVE-2026-33017/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-33017
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33017
- OSV: https://osv.dev/vulnerability/CVE-2026-33017

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-33017/
Summaries are generated and may contain mistakes; the official description above is the record.
