Langflow · Langflow · Langflow Code Injection Vulnerability
Verdict
Patch first · actively exploited, reachable from the internet without credentials, and in the top 5% of CVEs by near-term exploitation probability
Added to CISA KEV 2026-03-25 · exploited in the wild for 186 days
CVSS 9.3 CRITICAL. The score is a summary; these three components are the part that decides whether something scanning the internet can use it.
| Attack vector | networkreachable over the network, with no local access needed |
|---|---|
| Privileges required | noneneeds no credentials at all |
| User interaction | nonecan be triggered with nobody interacting with the page or request |
| Base vector | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| Weakness | CWE-94 |
This describes the vulnerability. It says nothing about whether your systems run it.
EPSS puts the probability of exploitation in the next 30 days at 0.2475, which places it in the top 5% of all tracked CVEs. The percentile is the more useful half: 0.18 in absolute terms sounds low until you know most of the internet-facing software in the world scores under that.
| EPSS probability | 0.2475 |
|---|---|
| Percentile | 0.978 — top 5% |
| Added to KEV | 2026-03-25 |
|---|---|
| Days exploited | 186 |
| Federal remediation due | not set |
| Ransomware use | no known ransomware campaign use |
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
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.