Zurück zur Startseite

RCE in Marimo CVE-2026-39987: Exploit in 9 Stunden

Kritisches RCE CVE-2026-39987 in Marimo ermöglicht Pre-Auth-Rootzugriff via /terminal/ws. Exploit in 9 Stunden ohne PoC zusammengesetzt, Sysdig zeichnete Angriff auf Honeypot auf. Empfehlungen: Aktualisieren, Secret-Rotation, Netzwerkschutz.

Marimo RCE: Root via WebSocket ohne Passwort — Exploit in 9 Stunden
Advertisement 728x90

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.

Google AdInline article slot

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/ws in 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.

Google AdInline article slot

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.

Google AdInline article slot

Schutzmaßnahmen und Audit-Schritte

Aktualisiere sofort:

  • Führe marimo --version aus, 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.1 und 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

Advertisement 728x90

Weiterlesen