CVE-2026-9198
IBM Langflow — IBM Langflow Code Injection Vulnerability
Beschreibung
IBM Langflow OSS-Versionen 1.0.0 bis 1.10.0 ermöglichen es unauthentifizierten Angreifern, die Endpunkte `/api/v1/auto_login` (erzeugt SUPERUSER-Token für jeden Netzwerkanrufer) und `/api/v1/validate/code` (führt Benutzercode über `exec()` aus) zu verketten. Dies führt bei Standard-Langflow-Installationen zur vollständigen Ausführung beliebigen Codes (RCE).
Behebung & Mitigation
Warum sofort handeln?
Priorisierung
CVE-2026-9198 erhält CVSS 9.8 (AV:N/AC:L/PR:N/UI:N) und liegt im EPSS-Perzentil 98,3 % — die Kombination aus trivialer Ausnutzbarkeit (keine Authentifizierung, keine Nutzerinteraktion, keine Komplexität) und vollständiger RCE macht diesen Befund zur höchsten Priorität. Die Angriffskette ist zweistufig, aber vollständig dokumentiert: Jeder Netzwerkteilnehmer kann sich über /api/v1/auto_login einen SUPERUSER-Token ausstellen lassen und anschließend über /api/v1/validate/code beliebigen Python-Code serverseitig ausführen. Langflow wird typischerweise in KI/ML-Entwicklungsumgebungen, Data-Science-Plattformen und internen Automatisierungspipelines eingesetzt — Umgebungen, die häufig Zugang zu sensiblen Daten, LLM-API-Keys und internen Netzwerksegmenten haben. Organisationen im NIS2-Scope sollten prüfen, ob Langflow-Instanzen in produktiven oder produktionsnahen Umgebungen betrieben werden, und diese bis zur Patch-Einspielung vollständig vom Internet isolieren.
Runbook · Schritt 1
Sofort-Response (0-24 h)
- Patch sofort einspielen: Upgrade auf Langflow ≥ 1.10.1 (oder die vom Hersteller als gesichert ausgewiesene Folgeversion). Patch-Details im IBM/Langflow-Vendor-Advisory nachschlagen — Version bitte im Vendor-Advisory verifizieren.
- Netzwerkzugang sofort einschränken: Langflow-Instanzen dürfen bis zur Patch-Einspielung nicht aus dem Internet oder aus nicht vertrauenswürdigen Netzsegmenten erreichbar sein. Firewall-Regeln: TCP 7860 (Standard-Port) und jede weitere Langflow-Listener-Konfiguration sperren.
- Endpunkt
/api/v1/auto_logindeaktivieren oder blockieren: Dieser Endpunkt ist der erste Schritt der Angriffskette. Sofern ein Reverse-Proxy (nginx, Traefik, AWS ALB) vorgelagert ist, sofort eine Deny-Regel fürGET|POST /api/v1/auto_logineinrichten. - Laufende Instanzen auf Kompromittierung prüfen: Prozessbaum des Langflow-Prozesses auf unerwartete Child-Prozesse untersuchen (z. B.
sh,bash,python,curl,wgetals Kindprozesse des Langflow-Workers). Logs der letzten 30 Tage sichern, bevor Instanzen neu gestartet werden. - Credentials rotieren: Alle API-Keys, Datenbankpasswörter und Secrets, die der Langflow-Prozess lesen kann (Umgebungsvariablen,
.env-Dateien, Secrets-Manager-Einträge), als kompromittiert betrachten und sofort rotieren.
Runbook · Schritt 2
Mitigation-Layer
- Netzwerksegmentierung: Langflow-Instanzen in ein dediziertes, streng kontrolliertes Segment (VLAN/Security Group) isolieren. Ausgehender Traffic des Langflow-Hosts auf bekannte Ziele (LLM-API-Endpunkte, interne Datenquellen) beschränken — Egress-Filterung verhindert Reverse-Shell-Callbacks.
- WAF/Reverse-Proxy-Regel: Anfragen an
/api/v1/auto_loginund/api/v1/validate/codevon externen Quellen blockieren. Beispiel nginx:location ~* ^/api/v1/(auto_login|validate/code) { deny all; } - Authentifizierungspflicht erzwingen: Sofern die Langflow-Konfiguration eine
LANGFLOW_AUTO_LOGIN=false-Option kennt, diese explizit setzen und Neustart durchführen. Damit wird der Token-Mint-Endpunkt deaktiviert. - Least-Privilege für den Langflow-Prozess: Langflow-Worker unter einem dedizierten, nicht-privilegierten Systemkonto ohne Shell-Zugang betreiben. Container-Deployments:
--read-only,--no-new-privileges,seccomp-Profil und AppArmor/SELinux-Policy aktivieren. - Secrets-Management: Keine Klartext-Credentials in Umgebungsvariablen oder
.env-Dateien; stattdessen Vault/AWS Secrets Manager mit kurzlebigen Tokens verwenden, um den Blast-Radius einer RCE zu begrenzen.
Runbook · Schritt 3
Detection-Regeln
- Web-Server-Accesslog — Angriffskette: Zwei aufeinanderfolgende Requests
POST /api/v1/auto_logingefolgt vonPOST /api/v1/validate/codeinnerhalb kurzer Zeit (< 60 s) von derselben Quell-IP. SPL-Skizze:index=weblogs uri IN ("/api/v1/auto_login","/api/v1/validate/code") | stats count by src_ip, uri | where count >= 1 | join src_ip [search uri="/api/v1/validate/code"] - EDR/Sysmon (EID 1) — Verdächtiger Kindprozess: Prozess-Ancestry
langflowoderuvicorn→python,sh,bash,curl,wget,nc. Sigma-Shape:detection: selection: ParentImage|contains: 'langflow' Image|endswith: ['/sh','/bash','/python','/curl','/wget','/nc'] condition: selection - Netzwerk-Telemetrie (Zeek/Suricata): Ausgehende Verbindungen vom Langflow-Host auf unbekannte externe IPs, insbesondere auf hohen Ports (> 1024) oder Port 4444/9001 (typische Reverse-Shell-Ports). Suricata-Regel-Idee:
alert tcp $LANGFLOW_HOST any -> !$TRUSTED_NETS any. - Linux auditd —
exec()-Syscall-Kette:execve-Aufrufe aus dem Langflow-Worker-Prozess auf System-Binaries überwachen:-a always,exit -F arch=b64 -S execve -F ppid=<langflow_pid> -k langflow_rce - SIEM-Alarm — HTTP 200 auf
/api/v1/auto_loginohne vorherige Authentifizierung: Jeder erfolgreiche (HTTP 2xx) Aufruf dieses Endpunkts von einer nicht-internen IP ist ein High-Confidence-Indikator.
Metriken
Weakness-Klassen (CWE)
CWE-94Base
Improper Control of Generation of Code ('Code Injection')
The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
cwe.mitre.org →
Re-Analyse & Statuswechsel
Chronologie der NVD-Audit-Events für diese CVE — Reanalyses, CVSS-Updates, CPE-Diffs.
- CVE Modified2026-08-17 20:16 UTC· psirt@us.ibm.com
- Affected: Langflow OSS → Langflow OSS
- Modified Analysis2026-08-04 19:29 UTC· nvd@nist.gov
- Reference Type: CISA-ADP: https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-9198 Types: US Government Resource
- CVE Modified2026-08-04 19:16 UTC· 134c704f-9b21-4f2e-91b3-4a467353bcc0
- Reference: https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-9198
- SSVC: {"id":"CVE-2026-9198","role":"CISA Coordinator","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalI… → {"id":"CVE-2026-9198","role":"CISA Coordinator","options":[{"exploitation":"active"},{"automatable":"yes"},{"technica…
- CVE Modified2026-07-18 05:16 UTC· 134c704f-9b21-4f2e-91b3-4a467353bcc0
- SSVC: {"id":"CVE-2026-9198","role":"CISA Coordinator","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalI… → {"id":"CVE-2026-9198","role":"CISA Coordinator","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalI…
- New CVE Received2026-07-17 18:17 UTC· psirt@us.ibm.com
- Affected: Langflow OSS
- Description: IBM Langflow OSS 1.0.0 through 1.10.0 allows unauthenticated attackers to chain /api/v1/auto_login (mints SUPERUSER tokens to any network caller) with /api/v1/validate/code (executes user code via exec()) to achieve full RCE on default Langflow deployments
- CVSS V3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CWE: CWE-94
Betroffene Produkte
Aus der Hersteller-/CERT-Meldung extrahierte Produkte und Versionsbereiche. Ein Version-Range wie „<4.14.6“ impliziert die Update-Empfehlung „auf 4.14.6 oder höher aktualisieren“.
langflow
langflow1.0.0 – 1.10.1
Öffentliche Exploit-Referenzen
Öffentliche Proof-of-Concepts und Detection-Templates für diese Schwachstelle. Die Reife reicht von gemeldeten PoCs über funktionsfähige Detection-Skripte bis hin zu vollständig waffenfähigen Exploit-Modulen. NEOSEC mirrort den Code intern für forensische Analysen; nach außen verlinken wir ausschließlich auf die Original-Quellen.
Quellen & Referenzen
Verknüpfte Empfehlungen
- sans-atrisk-mail2026-08-20 00:00 UTC@RISK®: The Consensus Security Vulnerability Alert: Vol. 26, Num. 32
- sans-newsbites-mail2026-08-07 00:00 UTCCISA Adds Five CVEs to Known Exploited Vulnerabilities Catalog
- sans-atrisk-mail2026-07-23 00:00 UTC@RISK®: The Consensus Security Vulnerability Alert: Vol. 26, Num. 28