CVE-2026-33017: critical vulnerability in langflow-ai langflow
Langflow has Unauthenticated Remote Code Execution via Public Flow Build Endpoint
Published · Updated
98Vexday Risk Score
Patch now. It under exploitation confirmed by CISA and has a working public exploit.
ssvc Actcvss 9.3epss 25%
from disclosure to weapon1 days
Published on NVDMar 20
1st PoC+1d
metasploitMar 20
CISA KEV+5d
exploitation probability
25%top 2% of all CVEs
observed exploitation
yesCISA + VulnCheck
55 public exploit(s)
Action required by CISAfederal deadline: 2026-04-08
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
In short
Langflow allows anyone to run arbitrary code on the server through a public endpoint by uploading malicious workflow definitions without needing to log in. An attacker can execute any command they want on the machine running Langflow.
Technical detail
The POST /api/v1/build_public_tmp/{flow_id}/flow endpoint in Langflow versions before 1.9.0 accepts an optional data parameter containing attacker-controlled flow definitions with arbitrary Python code in node definitions, which are executed via exec() without sandboxing. Authentication is not required for this public endpoint, enabling unauthenticated remote code execution. The vulnerability was fixed in version 1.9.0 by removing acceptance of attacker-supplied flow data at this endpoint.
Summary generated and translated by AI from the 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.