Die Schwachstelle CVE-2026-39987 zeigte ein häufiges Architektur-Problem: Der Terminal-WebSocket-Endpunkt (/terminal/ws) führte keine Authentifizierungsprüfung durch, während andere WebSocket-Endpunkte korrekt die validate_auth()-Funktion aufrufen. Dies ermöglichte es Angreifern, sich einfach mit dem Endpunkt zu verbinden und volle Kontrolle über das System zu erlangen.
Sysdig dokumentierte die Angriffskette detailliert: Ein Angreifer – identifiziert über eine einzelne IP-Adresse – konstruierte einen funktionsfähigen Exploit direkt aus der Advisory-Beschreibung. Der erste Zugriff fand 9 Stunden und 41 Minuten nach der Veröffentlichung statt. Nach dem Eindringen führte der Attacker zwei Minuten später manuelle Reconnaissance durch und kehrte sechs Minuten später zurück, um Dateien mit Anmeldedaten zu stehlen. Die gesamte Operation dauerte nur etwa drei Minuten.
Besonders besorgniserregend: Der Angreifer suchte systematisch nach SSH-Schlüsseln und versuchte, alle Dateien im Zielverzeichnis auszulesen. Parallel zeigten sich 125 weitere IP-Adressen bei Netzwerk-Aufklärungsaktivitäten, etwa Port-Scans und HTTP-Analysen. Dies deutet auf ein größeres Interesse an Marimo-Instanzen im Internet hin.
Für Sicherheit verantwortliche Personen und Entwickler sollten sofort handeln: Alle Marimo-Versionen bis 0.20.4 sind betroffen. Das Projekt hat mit Version 0.23.0 einen Patch bereitgestellt. Besonders kritisch ist, dass dieses Szenario nicht einmalig ist – andere kritische Lücken in populären Frameworks zeigen ähnliche Muster einer rapiden Exploit-Entwicklung nach Disclosure.
Das Incident unterstreicht zwei zentrale Erkenntnisse: Erstens besitzen Angreifer bemerkenswerte technische Fähigkeiten, um aus teilweise abstrakten Advisory-Texten funktionsfähige Exploits zu bauen. Zweitens sind öffentliche Offenlegungen von Sicherheitslücken ein zweischneidiges Schwert – sie ermöglichen schnelle Patches, aber auch schnelle Exploit-Entwicklung. Organisationen sollten ihre Update-Prozesse optimieren und kontinuierlich inventarisieren, welche Marimo-Versionen in ihrer Infrastruktur laufen.
