
Unabhängige Rekonstruktion, Laborvalidierung und PoC für CVE-2026-9198, die unauthentifizierte RCE in Langflow (behoben in 1.10.1)
Unabhängige Rekonstruktion, Laborvalidierung und Offenlegung der Exposition für die Langflow-Code-Injection (CVE-2026-9198), eine nicht authentifizierte Remote- Code-Ausführung mit CVSS 9.8 auf Standardbereitstellungen von Langflow 1.0.0 bis 1.10.0. Behoben in 1.10.1 und am 2026-08-04 in den Known Exploited Vulnerabilities-Katalog von CISA aufgenommen.
Forschungszeitraum: 17.–18. August 2026. Sämtliche Exploitation wurde ausschließlich gegen Laborinstanzen durchgeführt, die uns gehören.
Web-Ausarbeitung: https://riftweld.github.io/langflow-cve-2026-9198/
Dies ist nicht der ursprüngliche Entdeckungsbericht. CVE-2026-9198 wurde von IBM und CISA öffentlich offengelegt; dieses Repository dokumentiert eine unabhängige Rekonstruktion der Ursache, eine Reproduktion im Labor und eine koordinierte Benachrichtigungskampagne gegenüber Hosting-Anbietern.
| Pfad | Beschreibung |
|---|---|
WRITEUP.md | Vollständige Ausarbeitung: Ursache, die Angriffskette, Labordifferenz, Exposition und die Offenlegung über den Provider-Weg |
LAB-VALIDATION.md | Laborprotokoll: Reproduktion auf 1.10.0 und die Differenz zum gepatchten 1.10.1 |
poc/poc_takeover.py | End-to-End-Labor-PoC (nur für das Labor, zuerst den Zielhost anpassen) |
poc/poc_transcript.md | Aufgezeichneter PoC-Lauf gegen unsere Laborcontainer |
recon/shodan_langflow_recon.py | Passive Enumerierung der Exposition (Shodan-API, kein aktives Probing) |
notifications/ | Kopien der acht Benachrichtigungs-E-Mails, die an Abuse-Abteilungen von Hosting-Anbietern gesendet wurden (Tabellen pro Instanz zurückgehalten) |
GET /api/v1/auto_login auf Standardbereitstellungen (LANGFLOW_AUTO_LOGIN=true)
lieferte ein langlebiges Superuser-JWT ohne Anmeldedaten.POST /api/v1/validate/code führte übermittelte Funktionsdefinitionen aus und
gab die Befehlsausgabe in der HTTP-Antwort zurück: vollständige nicht authentifizierte
Code-Ausführung.langflowai/langflow:1.10.0 in einem isolierten Labor reproduziert; die 1.10.1-Kontrolle schließt
beide Hälften (kurzlebige Tokens; leere Exec-Senke).Nur für das Labor. Starten Sie einen anfälligen Langflow-Container und richten Sie das Skript darauf aus:
docker run -d --name lf-lab -p 127.0.0.1:7860:7860 \
-e LANGFLOW_AUTO_LOGIN=true langflowai/langflow:1.10.0
python3 poc/poc_takeover.py --url http://127.0.0.1:7860 --cmd "id"
Führen Sie dies niemals gegen Systeme Dritter aus. Expositionsbefunde wurden über Abuse-Kanäle der Hosting-Anbieter behandelt; Datensätze pro Ziel werden absichtlich nicht veröffentlicht.
| Datum | Ereignis |
|---|---|
| 2026-06-23 | Langflow 1.10.1 veröffentlicht (Fix) |
| 2026-07-02 | IBM-Bulletin |
| 2026-07-06 | Erste Sensor-Treffer in freier Wildbahn (vor Veröffentlichung) |
| 2026-07-17 | CVE veröffentlicht |
| 2026-07-29 | Öffentliches nuclei-Template zusammengeführt |
| 2026-08-04 | Aufnahme in CISA KEV (Behebung fällig am 08-07) |
| 2026-08-17/18 | Diese unabhängige Rekonstruktion, Laborvalidierung und Provider-Benachrichtigungen |
Der Code wird unverändert für defensive und edukative Zwecke bereitgestellt.