Kritischer RCE in Marimo: Exploit innerhalb von 9 Stunden ohne öffentlichen PoC
Die kritische Schwachstelle CVE-2026-39987 (CVSS 9,3) in Marimo-Versionen vor 0,23,0 ermöglicht unbefugten Root-Zugriff über WebSocket. Sysdig erkannte den ersten Angriff bereits 9 Stunden und 41 Minuten nach Veröffentlichung der Sicherheitswarnung am 8. April 2026. Angreifer entwickelten einen Exploit ausschließlich auf Basis der technischen Beschreibung – ohne öffentlichen PoC – und extrahierten Geheimnisse aus einer Honeypot-Umgebung innerhalb von drei Minuten.
Der Fehler liegt im Endpunkt /terminal/ws: Er fehlt die validate_auth()-Prüfung, die im Pfad /ws vorhanden ist. Ein einfacher WebSocket-Handshake gewährt einen PTY-Shell-Zugang mit Prozessberechtigungen. In Standard-Docker-Images bedeutet dies Root-Zugriff sowie Zugriff auf OpenAI-, Anthropic- und Google Gemini-API-Schlüssel, die in .env-Dateien gespeichert sind.
Technische Details der Schwachstelle
Marimo nutzt WebSockets für dauerhafte Verbindungen: /ws verwaltet reaktive Oberflächen und Notebook-Zellen, während /terminal/ws das eingebettete Terminal steuert. Der letztere Endpunkt prüft lediglich Terminalmodus-Flags und Plattform-PTY-Unterstützung – keine Authentifizierung mittels Sitzungstoken erfolgt.
Netzwerkebene Validierung erfolgt automatisch. Folglich kann jedes externe Gerät eine Verbindung herstellen und Befehle mit Server-Rechten ausführen. GHSA-2679-6MX9-H9XC klassifiziert dies als CWE-306 (Fehlende Authentifizierung für kritische Funktionen). Die Korrektur in PR #9098 fügt die fehlende validate_auth()-Prüfung hinzu.
Docker-Deployment erhöht das Risiko erheblich: Prozesse laufen als Root, und Geheimnisse werden in .env oder ~/.aws/credentials gespeichert. Ein Kompromittieren führt zu vollständigem Zugriff auf LLM-Billing, Modelle und Datensätze.
Angriffszeitplan und Indikatoren
- 00:00: Warnung veröffentlicht.
- 09:41: Erste Verbindung zu
/terminal/wsin Sysdigs Honeypot beobachtet. - <3 Minuten: Dateisystem-Traversierung, Lesen von
.env, SSH-Schlüsseln, Cloud-Konfigurationen. - ~1 Stunde: Angreifer kehrte zurück, um Persistenz zu überprüfen.
Keine Miner oder Backdoors wurden deployt – ein Hinweis auf gezielte Aktionen durch aktive Angreifer. Protokolliere WebSocket-Traffic über Proxy-Server (nginx access.log, Caddy stdout). Verdächtige Aktivität: externe IP-Verbindungen zu /terminal/ws nach dem 8. April 2026.
Häufige Wege zur Geheimnis-Auffindung:
.env~/.ssh/id_rsa,~/.ssh/id_ed25519~/.aws/credentials~/.config/gcloud/~/.bash_history
RCE-Muster in KI-Tools
Marimo (20k GitHub-Stars) wird weithin an Stanford, Mozilla AI, OpenAI und BlackRock eingesetzt. Deployment-Plattformen umfassen Docker, Hugging Face Spaces und CoreWeave. Dies ist der dritte RCE innerhalb weniger Monate:
- Langflow CVE-2026-33017 – Exploit innerhalb von 20 Stunden.
- Flowise CVE-2025-59528 (CVSS 10,0) – ausgenutzt nach Patch.
- Marimo CVE-2026-39987.
KI-Toolchains (Notebooks, Pipelines) werden oft als Entwicklungswerkzeuge behandelt – was zu schwacher Segmentierung, mangelnder Überwachung und übermäßigen Rechten führt. Tatsache: Produktionszugriff auf Modelle, Daten und Billing-Systeme.
Schutzmaßnahmen und Audit-Schritte
Aktualisiere sofort:
- Führe
marimo --versionaus, um sicherzustellen, dass ≥ 0,23,0 installiert ist. - Bei Docker: Baue das Image mit einem nicht-root USER neu.
Wenn dein Port nach dem 8. April freigegeben war, ist ein Kompromittieren wahrscheinlich. Führe diese Maßnahmen durch:
- Rotiere Geheimnisse: LLM-Schlüssel, Cloud-Zugangsdaten, SSH-Schlüssel.
- Prüfe OpenAI/Anthropic/Google-Billing-Logs auf unerwartete Anfragen.
- Nutze
ss -tlnp | grep LISTEN, um zu überprüfen, ob Marimo, Jupyter oder Flowise auf 0.0.0.0 lauschen. - Starte mit
marimo edit --host 127.0.0.1und füge Schutz durch Reverse-Proxy hinzu (nginx Auth, Caddy OAuth2). - Überwache Warnungen via GitHub Security Advisories, osv.dev und CISA KEV.
Wichtige Erkenntnisse
- Angriffsgeschwindigkeit: 9 Stunden 41 Minuten von der Warnung bis zum RCE – typisch für gut dokumentierte Schwachstellen.
- Standard-Root-Zugriff: Docker-Marimo erfordert explizite Benutzeranpassung.
- Geheimnisse sind Ziel:
.env-Dateien mit LLM-Schlüsseln sind Hauptziele. - KI-RCE-Trend: Dritter aufeinanderfolgender RCE – fordert produktionsgerechte Sicherheitspraktiken.
- Erkennung: Überwache
/terminal/ws-Logs in Proxies; auditiere LLM-Nutzungsmuster.
— Editorial Team
Noch keine Kommentare.