Kritická bezpečnostní chyba RCE v Marimo: exploita za 9 hodin bez PoC
Kritická bezpečnostní chyba CVE-2026-39987 (CVSS 9.3) ve verzi Marimo do 0.23.0 umožňuje získat root-shell přes WebSocket bez ověření identity. Sysdig zaznamenal první útok již 9 hodin a 41 minut po zveřejnění doporučení 8. dubna 2026. Útočníci vytvořili exploit podle popisu, aniž by byl k dispozici veřejný PoC, a vyextrahovali tajné klíče z honeypotu během tří minut.
Problém spočívá v koncovém bodu /terminal/ws: chybí volání validate_auth(), na rozdíl od /ws. Stačí jednoduchá WebSocket handshaking pro získání PTY shellu s oprávněními procesu. Ve výchozích Docker obrázcích má Marimo přístup roota a v .env souborech klíče OpenAI, Anthropic a Google Gemini.
Technické detaily chyby
Marimo používá WebSocket pro trvalá spojení: /ws pro reaktivní UI a buňky, /terminal/ws pro integrovaný terminál. Druhý koncový bod ověřuje pouze příznaky režimu terminálu a podporu PTY na platformě – bez ověření relačního tokenu.
V síťovém prostředí jsou ověření prováděna automaticky. Výsledkem je, že jakýkoliv vzdálený klient se může připojit a spouštět příkazy s oprávněními serveru. GHSA-2679-6MX9-H9XC ji klasifikuje jako CWE-306 (chybějící autentizace pro kritickou funkci). Oprava v PR #9098 přidává validate_auth().
Nasazení přes Docker zhoršuje rizika: proces běží jako root, tajné klíče jsou uloženy v .env nebo ~/.aws/credentials. Kompromitace znamená přístup k LLM-billingům, modelům i datovým sadám.
Chronologie útoku a indikátory
- 00:00: Zveřejnění doporučení.
- 09:41: První připojení k
/terminal/wsv honeypotu Sysdig. - <3 min: Prohlédnutí souborového systému, čtení
.env, SSH klíčů, cloud konfigurací. - ~1 hodina: Návrat útočníka pro kontrolu.
Žádné minery nebo backdory – znak cílené operace s aktivním operátorem. Povinné logování WebSocket v proxy (nginx access.log, Caddy stdout). Podivné: připojení k /terminal/ws z externích IP po 8. dubna 2026.
Typické cesty hledání tajných klíčů:
.env~/.ssh/id_rsa,~/.ssh/id_ed25519~/.aws/credentials~/.config/gcloud/~/.bash_history
Model RCE v nástrojích AI
Marimo (20k hvězdiček na GitHubu) je oblíbený v Stanfordu, Mozilla AI, OpenAI, BlackRock. Nasazení: Docker, Hugging Face Spaces, CoreWeave. Toto je třetí RCE za několik měsíců:
- Langflow CVE-2026-33017 – exploita za 20 hodin.
- Flowise CVE-2025-59528 (CVSS 10.0) – využití i po opravě.
- Marimo CVE-2026-39987.
Nástroje pro AI (notebooky, pipeline) často vnímáme jako vývojové nástroje: slabá segmentace, monitorování, nadbytečné oprávnění. Realita: přístup do produkčního prostředí k modelům, datům, fakturaci.
Ochrana a audit
Aktualizace je priorita:
marimo --version≥ 0.23.0.- Docker: přestavte obraz s uživatelem bez root práv.
Kompromis je pravděpodobný, pokud port byl otevřen po 8. dubna:
- Rotujte tajné klíče: LLM klíče, cloud cred, SSH.
- Audit fakturace OpenAI/Anthropic/Google: neznámé žádosti.
ss -tlnp | grep LISTEN– ověřte porty Marimo/Jupyter/Flowise na 0.0.0.0.- Spusťte:
marimo edit --host 127.0.0.1+ reverzní proxy (nginx auth, Caddy OAuth2). - Monitorování: GitHub Security Advisories, osv.dev, CISA KEV.
Co je důležité
- Rychlost útoku: 9 hodin a 41 minut od doporučení do RCE – normální pro přesné popisy.
- Root výchozí: Docker Marimo vyžaduje vlastní nastavení uživatele.
- Tajné klíče v centru:
.envs LLM klíči – hlavní cíl. - Model AI-RCE: Třetí chyba v řadě, vyžaduje produkční přístup.
- Detekce: Logy
/terminal/wsv proxy, audit použití LLM.
— Editorial Team
Zatím žádné komentáře.