CVE-2025-68478
published 2025-12-19CVE-2025-68478: 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…
PriorityP350high7.1CVSS 3.1
AVNACLPRLUINSUCNIHAL
EPSS
3.63%
88.1th percentile
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.
Affected
5 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| langflow-ai | langflow | — | — |
| langflow | langflow | < 1.7.0 | 1.7.0 |
| langflow | langflow | >= 0 < 1.7.1 | 1.7.1 |
| langflow | langflow | >= 1.2.0 < 1.9.0 | 1.9.0 |
| langflow | langflow | >= 1.2.0 < 1.9.0 | 1.9.0 |
CVSS provenance
nvdv3.17.1HIGHCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
ghsa7.1HIGH
osv7.1HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
Langflow has an Arbitrary File Write (RCE) via v2 API
osv·2026-03-19·CVSS 7.1
CVE-2026-33309 [HIGH] Langflow has an Arbitrary File Write (RCE) via v2 API
Langflow has an Arbitrary File Write (RCE) via v2 API
### Summary
While reviewing the recent patch for **CVE-2025-68478** (External Control of File Name in v1.7.1), I discovered that the root architectural issue within `LocalStorageService` remains unresolved. Because the underlying storage layer lacks boundary containment checks, the system relies entirely on the HTTP-layer `ValidatedFileName` dependency.
This defense-in-depth failure leaves the `POST /api/v2/files/` endpoint vulnerable to Arbitrary File Write. The multipart upload filename bypasses the path-parameter guard, allowing authenticated attackers to write files anywhere on the host system, leading to Remote Code Execution (RCE).
### Details
The vulnerability exists in two layers:
1. **API Layer (`src/backend/base/langflow/
GHSA
Langflow has an Arbitrary File Write (RCE) via v2 API
ghsa·2026-03-19·CVSS 7.1
CVE-2026-33309 [HIGH] CWE-22 Langflow has an Arbitrary File Write (RCE) via v2 API
Langflow has an Arbitrary File Write (RCE) via v2 API
### Summary
While reviewing the recent patch for **CVE-2025-68478** (External Control of File Name in v1.7.1), I discovered that the root architectural issue within `LocalStorageService` remains unresolved. Because the underlying storage layer lacks boundary containment checks, the system relies entirely on the HTTP-layer `ValidatedFileName` dependency.
This defense-in-depth failure leaves the `POST /api/v2/files/` endpoint vulnerable to Arbitrary File Write. The multipart upload filename bypasses the path-parameter guard, allowing authenticated attackers to write files anywhere on the host system, leading to Remote Code Execution (RCE).
### Details
The vulnerability exists in two layers:
1. **API Layer (`src/backend/base/langflow/
GHSA
External Control of File Name or Path in Langflow
ghsa·2025-12-19
CVE-2025-68478 [HIGH] CWE-610 External Control of File Name or Path in Langflow
External Control of File Name or Path in Langflow
**Vulnerability Overview**
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.
**Vulnerable Code**
1. It receives the request body (flow), updates the DB, and then passes it to the file-writing sink.
https://github.com/langflow-ai/langflow/blob/ac6e2d2eabeee28085f2739d79f7ce4205ca082c/src/backend/base/langflow/api/v1/flows.py#L154-L168
```python
@router.post("/", response_model=FlowRead, status_code=201)
async def create_flow(
*,
session: DbSession,
flow: FlowCreate,
current_user: CurrentAct
OSV
External Control of File Name or Path in Langflow
osv·2025-12-19
CVE-2025-68478 [HIGH] External Control of File Name or Path in Langflow
External Control of File Name or Path in Langflow
**Vulnerability Overview**
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.
**Vulnerable Code**
1. It receives the request body (flow), updates the DB, and then passes it to the file-writing sink.
https://github.com/langflow-ai/langflow/blob/ac6e2d2eabeee28085f2739d79f7ce4205ca082c/src/backend/base/langflow/api/v1/flows.py#L154-L168
```python
@router.post("/", response_model=FlowRead, status_code=201)
async def create_flow(
*,
session: DbSession,
flow: FlowCreate,
current_user: CurrentAct
No detection rules found.
No public exploits indexed.
2025-12-19
Published