Hackers zijn binnen tien uur na de publieke bekendmaking begonnen met het misbruiken van een kritieke kwetsbaarheid in het open-source Python notebook platform Marimo. De kwetsbaarheid, geregistreerd als CVE-2026-39987, maakt het mogelijk om zonder authenticatie op afstand code uit te voeren in Marimo-versies 0.20.4 en eerder. GitHub heeft de kwetsbaarheid beoordeeld met een kritieke score van 9,3 uit 10.

Volgens onderzoekers van het cloud-securitybedrijf Sysdig hebben aanvallers op basis van de informatie in de developer's advisory snel een exploit ontwikkeld en deze direct ingezet in aanvallen gericht op het exfiltreren van gevoelige gegevens. Marimo wordt veel gebruikt door datawetenschappers, ML/AI-specialisten, onderzoekers en ontwikkelaars voor het bouwen van data-applicaties en dashboards. Het project heeft ruim 20.000 GitHub-sterren en 1.000 forks.

De kwetsbaarheid ontstaat doordat het WebSocket-eindpunt '/terminal/ws' een interactieve terminal zonder juiste authenticatiecontrole blootstelt, waardoor elke niet-geauthenticeerde client verbinding kan maken. Dit geeft directe toegang tot een volledige interactieve shell met dezelfde rechten als het Marimo-proces. Marimo maakte de kwetsbaarheid op 8 april bekend en bracht gisteren versie 0.23.0 uit om het probleem te verhelpen. De ontwikkelaars geven aan dat de kwetsbaarheid vooral gebruikers treft die Marimo als een bewerkbare notebook inzetten en die het platform via '--host 0.0.0.0' op een gedeeld netwerk beschikbaar stellen in de bewerkmodus.

Volgens het Sysdig-rapport waren binnen twaalf uur na openbaarmaking al 125 IP-adressen actief met verkenningsactiviteiten. Minder dan tien uur na de bekendmaking werd de eerste exploitatiepoging waargenomen, gericht op het stelen van credentials. De aanvaller verifieerde de kwetsbaarheid door verbinding te maken met het '/terminal/ws' eindpunt en voerde een korte scriptsequentie uit om remote command execution te bevestigen, waarna de verbinding snel werd verbroken. Vervolgens werd handmatige verkenning uitgevoerd met commando’s als pwd, whoami en ls om de omgeving te analyseren, gevolgd door pogingen om directories te doorzoeken en SSH-gerelateerde locaties te controleren.

De aanvaller richtte zich daarna op het verzamelen van credentials, waarbij direct het .env-bestand werd benaderd om omgevingsvariabelen te extraheren, waaronder cloud-credentials en applicatiesleutels. Ook werden andere bestanden in de werkdirectory gelezen en werd verder gezocht naar SSH-sleutels. Deze fase van credential access duurde minder dan drie minuten. Ongeveer een uur later keerde de aanvaller terug voor een tweede sessie met dezelfde exploit. Volgens de onderzoekers betreft het een "methodische operator" die gericht is op waardevolle doelen zoals het stelen van .env-credentials en SSH-sleutels, zonder pogingen tot het installeren van persistentie, cryptominers of backdoors. Dit wijst op een snelle en gerichte aanval.

Marimo-gebruikers wordt dringend geadviseerd om zo snel mogelijk te upgraden naar versie 0.23.0, WebSocket-verbindingen naar '/terminal/ws' te monitoren, externe toegang via firewalls te beperken en alle blootgestelde secrets te roteren. Als upgraden niet mogelijk is, kan het blokkeren of uitschakelen van toegang tot het '/terminal/ws' eindpunt een effectieve mitigatie zijn.