RCE critique dans Marimo exploitée en quelques heures après divulgation : les data scientists en danger
Une vulnérabilité critique d'exécution de code à distance (RCE) dans la plateforme open-source de notebooks Marimo, identifiée sous la référence CVE-2026-39987, a été activement exploitée dans les 10 heures suivant sa divulgation publique. Des chercheurs de Sysdig ont observé des attaquants tirer parti de cette faille pour exfiltrer des informations sensibles, soulignant la rapidité avec laquelle les exploits sont transformés en armes dans le paysage actuel des menaces.

**Marimo**, un environnement de notebooks Python open-source populaire, prisé par les data scientists, les praticiens du ML/AI et les chercheurs, a été victime d'un incident de sécurité grave suite à la divulgation de la **CVE-2026-39987**. Cette vulnérabilité permet une exécution de code à distance non authentifiée dans les versions 0.20.4 et antérieures. GitHub a évalué sa sévérité comme critique (9.3/10).
### La Vulnérabilité : CVE-2026-39987
La cause profonde réside dans le point d'accès WebSocket '/terminal/ws', qui expose un terminal interactif sans authentification appropriée. Cela permet à tout client non authentifié de se connecter et d'obtenir un accès direct à un shell interactif complet, avec les mêmes privilèges que le processus **Marimo**.
Les développeurs de **Marimo** ont divulgué la faille le 8 avril et ont publié la version 0.23.0 pour la corriger. Cette mise à jour est cruciale pour les utilisateurs qui ont déployé **Marimo** en tant que notebook éditable ou qui l'ont exposé à un réseau partagé en utilisant le drapeau `--host 0.0.0.0` en mode édition.
### Exploitation Rapide dans la Nature
Selon **Sysdig**, une activité de reconnaissance a débuté à partir de 125 adresses IP dans les premières 12 heures suivant la publication des détails de la vulnérabilité. La première tentative d'exploitation, axée sur le vol d'identifiants, a été observée moins de 10 heures après la divulgation.
La séquence d'attaque comprenait :
1. **Validation de la Vulnérabilité :** Connexion au point d'accès `/terminal/ws` et exécution d'un court script pour confirmer l'exécution de commandes à distance.
2. **Reconnaissance Manuelle :** Exécution de commandes basiques comme `pwd`, `whoami`, et `ls` pour comprendre l'environnement, suivie de tentatives de navigation dans les répertoires et de vérifications des emplacements liés à SSH.
3. **Récolte d'Identifiants :** Ciblage du fichier `.env` pour extraire les variables d'environnement, y compris les identifiants cloud et les secrets d'application. Des tentatives ont également été faites pour lire des fichiers supplémentaires et rechercher des clés SSH.

*Source : Sysdig*
L'ensemble de la phase d'accès aux identifiants s'est déroulé en moins de trois minutes, soulignant l'efficacité de l'attaquant. L'attaquant est revenu une heure plus tard pour une deuxième session d'exploitation en utilisant la même séquence.
Les chercheurs de **Sysdig** estiment que l'attaque a été menée par un "opérateur méthodique" avec une approche manuelle, se concentrant sur des cibles de grande valeur comme les identifiants `.env` et les clés SSH, plutôt que de déployer des scripts automatisés ou des backdoors persistantes.
### Étapes d'Atténuation
Il est fortement conseillé aux utilisateurs de **Marimo** de :
* Mettre à jour vers la version 0.23.0 immédiatement.
* Surveiller les connexions WebSocket vers '/terminal/ws'.
* Restreindre l'accès externe via un pare-feu.
* Faire pivoter tous les secrets exposés.
Si la mise à niveau n'est pas immédiatement réalisable, bloquer ou désactiver l'accès au point d'accès '/terminal/ws' constitue une stratégie d'atténuation efficace.