{"answers":{"affected":"3 open source packages ship an affected version, including langflow. It affects 1 product.","exploited":"Yes. Attackers have exploited CVE-2026-33017 in the wild since at least 25 Mar 2026.","fix":"Upgrade langflow to 1.9.0 or later. US federal agencies must fix it by 8 Apr 2026.","what":"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."},"fix_prompt":"Check this codebase for CVE-2026-33017 and fix it if it is affected.\n\nWhat 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.\nExploitation: Yes. Attackers have exploited CVE-2026-33017 in the wild since at least 25 Mar 2026.\n\nAffected packages and fixed versions:\n- langflow (PyPI): affected all versions; fixed in 1.9.0\n- langflow (PyPI): affected all versions; fixed in 1.9.0\n- langflow (PyPI): affected all versions; fixed in 1.9.0\n\nTask:\n1. 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.\n2. 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.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-33017/ (Markdown: https://insights.sbomify.com/CVE-2026-33017/index.md)","id":"CVE-2026-33017","markdown":"https://insights.sbomify.com/CVE-2026-33017/index.md","name":"CVE-2026-33017","record":{"aliases":["GHSA-vwmf-pq79-vjvx","PYSEC-2026-379"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"yes","non_default_config":false,"product_category":"AI workflow builder","requires_auth":"none","summary":"Unauthenticated attackers can execute arbitrary Python code via the public flow build endpoint in Langflow.","user_interaction":"not_required","vuln_class":"code_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"langflow","vendor":"langflow"}],"cvss":{"score":9.3,"severity":"critical","source":"cna","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","version":"4.0"},"cwes":[{"id":"CWE-95","name":"Improper Neutralization of Directives in Dynamically Evaluated Code"},{"id":"CWE-94","name":"Improper Control of Generation of Code"},{"id":"CWE-306","name":"Missing Authentication for Critical Functionality"}],"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.","ecosystems":["PyPI"],"exploits":{"exploitdb":1,"first_seen":"2026-03-20","github_poc":27,"max_poc_stars":12,"metasploit":1,"nuclei":1,"refs":[{"date":"2026-03-31T02:10:40Z","kind":"github_poc","ref":"https://github.com/EQSTLab/CVE-2026-33017","stars":12,"title":"Langflow RCE"},{"date":"2026-03-21T08:11:08Z","kind":"github_poc","ref":"https://github.com/MaxMnMl/langflow-CVE-2026-33017-poc","stars":10,"title":"CVE-2026-33017 - An unauthenticated remote code execution in Langflow \u003c= 1.8.1 via Public Flow Build Endpoint"},{"date":"2026-03-27T07:15:07Z","kind":"github_poc","ref":"https://github.com/z4yd3/PoC-CVE-2026-33017","stars":5,"title":"CVE-2026-33017: Unauthenticated RCE in Langflow"},{"date":"2026-07-02T09:47:58Z","kind":"github_poc","ref":"https://github.com/c0gnit00/CVE-2026-33017","stars":2,"title":"Python POC, Exploit for CVE-2026-33017"},{"date":"2026-07-19T10:44:19Z","kind":"github_poc","ref":"https://github.com/CerberusMrXi/Langflow-cve-2026-33017-exploit","stars":2,"title":"CVE-2026-33017 exploitation tool for Langflow \u003c1.9.0. Features reverse shells, command execution, file operations, persistence, and automated testing. Validates critical RCE vulnerability impact. For authorized security assessments only."},{"date":"2026-03-21T17:06:34Z","kind":"github_poc","ref":"https://github.com/omer-efe-curkus/CVE-2026-33017-Langflow-RCE-PoC","stars":1,"title":"The vulnerability in Langflow 1.8.1 and earlier allows a remote, unauthenticated attacker to achieve arbitrary command execution on the host."},{"date":"2026-04-20T14:54:39Z","kind":"github_poc","ref":"https://github.com/Jorrit-VM/CVE-2026-33017","stars":1,"title":null},{"date":"2026-08-13T14:06:09Z","kind":"github_poc","ref":"https://github.com/lxxexxbxx/CVE-2026-33017","stars":1,"title":"CVE-2026-33017: Langflow Unauthenticated RCE PoC"}],"tier":"exploited"},"has_fix":true,"headline":"Langflow Code Injection","id":"CVE-2026-33017","indexable":true,"kev":{"dateAdded":"2026-03-25","dueDate":"2026-04-08","knownRansomwareCampaignUse":"Unknown","product":"Langflow","requiredAction":"Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.","vendorProject":"Langflow","vulnerabilityName":"Langflow Code Injection Vulnerability"},"kind":"cve","links":{"ecosystem":"PyPI","product":"langflow:langflow","products":["langflow:langflow"],"type":"code_injection","year":"2026"},"n_packages":3,"n_references":3,"next":{"headline":"libsixel: Use-After-Free in load_gif()","id":"CVE-2026-33018"},"packages":[{"ecosystem":"PyPI","fixed":["1.9.0"],"introduced":["0"],"last_affected":[],"package":"langflow","purl":null,"source":"GHSA-vwmf-pq79-vjvx"},{"ecosystem":"PyPI","fixed":["1.9.0"],"introduced":["0"],"last_affected":[],"package":"langflow","purl":"pkg:pypi/langflow","source":"GHSA-vwmf-pq79-vjvx"},{"ecosystem":"PyPI","fixed":["1.9.0"],"introduced":["0"],"last_affected":[],"package":"langflow","purl":"pkg:pypi/langflow","source":"PYSEC-2026-379"}],"prev":{"headline":"EVerest has RemoteStop Bypass via BCB Toggle Session Restart","id":"CVE-2026-33015"},"products":["langflow"],"published":"2026-03-20","related":[{"cvss_score":9.8,"headline":"IBM Langflow Code Injection","id":"CVE-2026-9198","kev_date_added":"2026-08-04","published":"2026-07-17"},{"cvss_score":9.8,"headline":"Langflow Inclusion of Functionality from Untrusted Control Sphere","id":"CVE-2026-0770","kev_date_added":"2026-07-21","published":"2026-01-23"},{"cvss_score":9.8,"headline":"Langflow Missing Authentication","id":"CVE-2025-3248","kev_date_added":"2025-05-05","published":"2025-04-07"},{"cvss_score":9.4,"headline":"Langflow Origin Validation Error","id":"CVE-2025-34291","kev_date_added":"2026-05-21","published":"2025-12-05"},{"cvss_score":8.4,"headline":"Langflow Authorization Bypass Through User-Controlled Key","id":"CVE-2026-55255","kev_date_added":"2026-07-07","published":"2026-06-23"},{"cvss_score":10,"headline":"Unauthenticated Server-Side RCE via PythonCodeStructuredTool in Public Flows","id":"CVE-2026-10134","kev_date_added":null,"published":"2026-06-30"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"open","licence":"CC0 1.0","name":"CISA KEV"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"yes","exploitation":"active","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-05-21","vendors":["langflow-ai"]},"summary":"Unauthenticated attackers can execute arbitrary Python code via the public flow build endpoint in Langflow.","url":"https://insights.sbomify.com/CVE-2026-33017/"}