Langflow
CVE-2025-68478
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid API key or JWT
-
DeliveryPOST /api/v1/flows with malicious fs_path
-
Exploit_verify_fs_path touches unvalidated absolute path
-
ExecutionFlow serialized and written/overwritten on disk
-
ImpactCorrupt config or plant payload for RCE/DoS
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
|
| Exploitation Conditions | Requires an authenticated session - a valid API Key or JWT accepted by the CurrentActiveUser dependency on POST /api/v1/flows - so this is not reachable by fully unauthenticated attackers. Given valid credentials, exploitation works against default configurations prior to the fixed version: the attacker simply supplies an attacker-chosen absolute fs_path in the request body (e.g., /etc/poc.txt), with no path restriction, normalization, or allowed-directory enforcement and no user interaction. The primary limiting factors are the authentication requirement, the OS-level file permissions of the Langflow service account (which bound which paths can actually be written/overwritten), and running a version at or above the patched release. |
| Impact | This is a genuine but conditional integrity-focused issue rather than a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) describes a network-reachable, low-complexity flaw, but PR:L is decisive: the vulnerable create_flow endpoint is gated behind CurrentActiveUser (API Key or JWT), so an attacker must already hold valid authenticated access. Impact is I:H with A:L and C:N, consistent with arbitrary file creation/overwrite (CWE-73) rather than data theft. Publicly available exploit code exists (GitHub Security Advisory GHSA-f43r-cc68-gpx4), which raises practical risk, but there is no CISA KEV listing and no EPSS score was provided, so there is no evidence of widespread or automated exploitation at this time - treat POC availability and active exploitation as distinct signals. The most important signal mismatch: the input Tag labels this 'Information Disclosure,' which contradicts the CVSS vector (C:N, I:H) and the described behavior (writing/overwriting files) - this is an integrity/arbitrary-file-write bug, not disclosure. Net: a real priority for any internet-exposed or multi-tenant Langflow instance because authenticated file overwrite of paths like /etc can plausibly escalate to code execution or denial of service, but single-user/trusted-network deployments face lower urgency given the authentication requirement. |
| Exploit ScenarioDerived | An attacker who already holds a valid Langflow API key or JWT (e.g., a low-privileged tenant, a leaked token, or a malicious internal user) sends a POST /api/v1/flows request with fs_path set to an absolute path such as /etc/poc.txt or a cron/config path. The server calls _verify_fs_path, touches the file if absent, then serializes the Flow object to JSON and writes/overwrites it at that location with no normalization or allowed-directory check. Public exploit code for this flow exists in the referenced GitHub advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Authenticated file-write vulnerability in Langflow allows any user holding a valid API key or JWT to create or overwrite files at attacker-chosen absolute paths on the server via the fs_path field of a flow-creation request. The endpoint POST /api/v1/flows applies no path normalization, restriction, or allowed-directory enforcement, so the server serializes the flow object to JSON and writes it wherever the caller specifies (e.g., /etc/poc.txt), producing high integrity impact and limited availability impact on files the Langflow service account can write. Exploitation requires an authenticated session (CVSS PR:L), publicly available exploit code exists, and there is no confirmed active exploitation (not in CISA KEV); the practical limit is the OS-level write permissions of the account running Langflow. Fixes are available in Langflow 1.7.0 (per the advisory) with package metadata listing the patched release as 1.7.1.
RemediationAI
Upgrade to Langflow 1.7.1 or later (the advisory for GHSA-f43r-cc68-gpx4 references 1.7.0 as the fix release, and the package metadata records the patched version as 1.7.1 - adopt 1.7.1+ to avoid ambiguity), following the advisory at https://github.com/langflow-ai/langflow/security/advisories/GHSA-f43r-cc68-gpx4. Because exploitation requires only a valid API key or JWT, treat credential hygiene as a first-line control: rotate Langflow API keys and JWTs if you cannot patch immediately, and audit which accounts hold credentials for the flow API. Compensating controls while unpatched, with their trade-offs: run the Langflow service under a dedicated low-privilege OS account whose write access is confined to the Langflow data directory, so an arbitrary fs_path cannot reach /etc, /root, or other sensitive trees (side effect: legitimate custom flow-storage paths outside that directory will fail); deploy in a container with a read-only root filesystem plus a single writable volume mount (side effect: requires reworking any in-container persistence or plugin writes); and network-restrict the Langflow API to trusted clients only, blocking direct internet exposure of the management port (side effect: breaks external integrations that call the API remotely). Enabling file-integrity monitoring on critical directories can surface attempted writes via fs_path but does not prevent them.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-73 (External Control of File Name or Path) in Langflow's Python/FastAPI backend. The flow-creation handler in src/backend/base/langflow/api/v1/flows.py accepts a client-supplied fs_path on the FlowCreate model and passes it through _verify_fs_path(), which does nothing more than instantiate pathlib.Path(path) and call .touch() if the path does not already exist. There is no os.path.realpath/resolve() containment check against a permitted base directory, no traversal normalization, and no allowlist, so absolute paths and .. sequences are interpreted literally by the OS. The subsequent _save_flow_to_fs() step performs the actual write, serializing the Flow object to JSON at that location. Access to the endpoint is gated by the CurrentActiveUser dependency (get_current_active_user), meaning a valid API key or JWT is required - the CVSS vector confirms PR:L, consistent with an authenticated rather than anonymous attack path. Because the written content is derived from the serialized flow object rather than arbitrary raw bytes, the realistic impact is clobbering existing files the service account can write (configuration, data, or startup artifacts) plus creating empty/stub files anywhere that account has directory write access; the blast radius is therefore bounded by filesystem permissions and by how the affected deployment exposes the Langflow API.
Know when Langflow gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Network endpoint with low-complexity request; PR:L because a valid API key/JWT is required; I:H for arbitrary file overwrite, A:L for possible service disruption, C:N as no data is read.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Langflow is a tool for building and deploying AI-powered agents and workflows. Prior to version 1.7.0, if an arbitrary path is specified in the request body's fs_path, the server serializes the Flow object into JSON and creates/overwrites a file at that path. There is no path restriction, normalization, or allowed directory enforcement, so absolute paths (e.g., /etc/poc.txt) are interpreted as is. Version 1.7.0 fixes the issue.
Executive ViewAI
Langflow, an AI/LLM application development platform, contains a high-severity flaw that lets anyone already holding a valid API key or JWT write files to arbitrary absolute paths on the server running the platform. Because Langflow instances typically hold model credentials, integration secrets, and often run in shared or production environments, a single authenticated user with ordinary credentials could corrupt configuration files or plant content that enables deeper compromise. Leadership should care because the exposure is broad (any authenticated tenant of the platform), the exploit code is already public, and the service account's file-write permissions - which frequently extend well beyond the application directory - set the ceiling on damage.
No vendor-released patch is confirmed in the supplied context (the referenced advisory cites fixes in Langflow 1.7.0, with package metadata listing 1.7.1 - validate and apply if available). Until then: restrict network access to the Langflow API/UI to trusted networks, run the service under a dedicated least-privilege account with a read-only filesystem except for a single application data directory, rotate and minimize API keys and JWTs, block flow-creation requests containing absolute or traversal paths at the API gateway/WAF, and monitor file-integrity and process file-write activity on Langflow hosts. Note that exploitation requires authentication (CVSS PR:L), so key hygiene and credential revocation materially reduce exposure. Exploit status: publicly available exploit code exists; no confirmed active exploitation (not in CISA KEV).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Affected Products (CPE)CVE.org
Langflow before 1.3.0 allows unauthenticated remote code injection through the /api/v1/validate/code endpoint, enabling
Langflow has a third RCE vulnerability via exec_globals (EPSS 10.0%) allowing inclusion of untrusted code that executes
Account takeover and remote code execution in Langflow AI workflow platform versions ≤1.6.9 due to a CORS misconfigurati
Langflow has a code injection vulnerability in the code component (EPSS 2.6%) enabling remote code execution through the
Langflow has an eval injection in eval_custom_component_code (EPSS 2.0%) enabling remote code execution through crafted
Remote code execution in IBM Langflow OSS 1.0.0 through 1.9.3 lets an unauthenticated attacker inject and run arbitrary
Code injection in Langflow CSV Agent node before 1.8.0. The node hardcodes allow_dangerous_code=True, enabling arbitrary
Langflow through 0.6.19 allows remote code execution if untrusted users are able to reach the "POST /api/v1/custom_compo
OS command injection in Langflow's MCP stdio transport allows an attacker who can reach the MCP server configuration end
langflow <=1.0.18 is vulnerable to Remote Code Execution (RCE) as any component provided the code functionality and the
langflow v1.0.12 was discovered to contain a remote code execution (RCE) vulnerability via the PythonCodeTool component.
Langflow before 1.7.0.dev45 exposes multiple API endpoints without authentication, allowing unauthenticated access to us
NVD
CVE.org
EPSS
GitHub
Exploit-DB