
Proof of Concept für CVE-2026-9198 - IBM Langflow Nicht authentifizierte RCE über Auto-Login-Bypass
Dieses Repository bietet einen Proof of Concept zu Bildungszwecken für CVE-2026-9198, das IBM Langflow OSS betrifft.
Der PoC (poc.py) zeigt, wie ein nicht authentifizierter Angreifer Folgendes verketten kann:
GET/POST /api/v1/auto_login (gibt ein Superuser-Token zurück, wenn Auto-Login aktiviert ist) undPOST /api/v1/validate/code (führt vom Angreifer kontrollierten Python-Code aus)um Remote-Codeausführung zu erreichen.
Dieser Code und die bereitgestellten Docker-Stacks dienen ausschließlich lokalen Sicherheitstests und der Ausbildung.
Führen Sie sie nicht gegen Systeme aus, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Testgenehmigung haben.
.
├── poc.py
├── vulnerable/docker-compose.yaml
└── patched/docker-compose.yaml
poc.py: Exploit-PoC.vulnerable/docker-compose.yaml: Labor-Stack mit langflowai/langflow:1.10.0 (verwundbar).patched/docker-compose.yaml: Labor-Stack mit langflowai/langflow:1.10.1 (gepatchtes Verhalten als Ziel).Beide Compose-Dateien sind absichtlich als Testlabore für poc.py unter http://127.0.0.1:9999 eingerichtet.
pip install requests
Starten Sie die verwundbare Umgebung:
docker compose -f vulnerable/docker-compose.yaml up -d
Führen Sie den PoC aus:
python3 poc.py
Das erwartete Ergebnis bei der verwundbaren Version enthält eine rote [!]-Zeile und eine Ausgabe ähnlich der folgenden:
[!] /api/v1/auto_login is vulnerable: uid=... gid=...
Stoppen Sie zuerst den verwundbaren Stack (falls er läuft):
docker compose -f vulnerable/docker-compose.yaml down -v
Starten Sie die gepatchte Umgebung:
docker compose -f patched/docker-compose.yaml up -d
Führen Sie denselben PoC aus:
python3 poc.py
Das erwartete Ergebnis bei der gepatchten Version ist eine grüne [-]-Zeile, die anzeigt, dass die Exploit-Kette nicht mehr erfolgreich ist.
In poc.py:
URL ist standardmäßig http://127.0.0.1:9999CMD ist standardmäßig idPassen Sie diese Konstanten an, wenn Sie ein anderes lokales Ziel oder einen anderen Befehl testen müssen.