CVE-2026-39987 : faille critique CVSS 9.3 dans Marimo permet une exécution de code à distance sans authentification. Exploitation active confirmée en moins de 10 heures.
TL;DR — En résumé
CVE-2026-39987 affecte Marimo Python notebook avec un score CVSS 9.3. Exploitation active confirmée par CISA. Mettez à jour vers la version 0.23.
En bref
- CVE-2026-39987 (CVSS 9.3) : exécution de code à distance sans authentification dans Marimo, notebook Python open-source
- Versions affectées : Marimo <= 0.20.4 — correctif disponible en version 0.23.0
- Action urgente : mettre à jour immédiatement vers Marimo 0.23.0 ou désactiver l'accès réseau aux instances exposées
Les faits
Points clés à retenir
- Les faits
- Impact et exposition
- Recommandations immédiates
La CVE-2026-39987, divulguée le 10 avril 2026 et notée 9.3 sur l'échelle CVSS, touche Marimo, une plateforme open source de notebooks Python largement adoptée par les équipes data science, les laboratoires de recherche et les métiers de l'analyse de données. Classée critique, cette faille se déclenche avant toute étape d'authentification : un attaquant distant, sans identifiants ni interaction d'un utilisateur légitime, peut ouvrir un shell PTY complet sur le serveur hébergeant le notebook et y exécuter des commandes système arbitraires. L'exploitation aboutit donc à une compromission intégrale de l'hôte, avec accès aux jeux de données, aux secrets applicatifs, aux clés d'API et aux environnements connectés. Les instances Marimo exposées sur Internet ou accessibles depuis un réseau interne peu segmenté constituent des cibles privilégiées, d'autant que le vecteur d'attaque reste simple à automatiser à grande échelle.
Le problème réside dans l'endpoint WebSocket /terminal/ws qui ne valide pas l'authentification des connexions entrantes. Contrairement aux autres endpoints WebSocket de l'application (comme /ws) qui appellent correctement la fonction validate_auth(), l'endpoint terminal vérifie uniquement le mode d'exécution et la compatibilité plateforme avant d'accepter les connexions, contournant totalement la vérification d'identité.
L'équipe Sysdig Threat Research a déployé des instances Marimo vulnérables en honeypot sur plusieurs fournisseurs cloud et a observé des tentatives d'exploitation moins de 10 heures après la divulgation publique. L'attaquant a construit un exploit fonctionnel directement à partir de la description de l'advisory, s'est connecté à l'endpoint terminal non authentifié et a exploré manuellement l'environnement compromis à quatre reprises sur une période de 90 minutes.
Impact et exposition
Toute instance Marimo version 0.20.4 ou antérieure exposée sur le réseau est vulnérable. L'exploitation ne nécessite aucun identifiant ni interaction utilisateur : un simple accès réseau au port de l'application suffit. L'attaquant obtient un accès shell complet avec les privilèges du processus Marimo, ce qui peut mener à une compromission totale du serveur, une exfiltration de données, ou un pivotement vers d'autres systèmes du réseau.
La CISA a ajouté cette vulnérabilité à son catalogue KEV (Known Exploited Vulnerabilities), confirmant l'exploitation active en conditions réelles. Les agences fédérales américaines avaient jusqu'au 11 avril 2026 pour appliquer les correctifs. Les environnements de data science et de machine learning, souvent déployés avec des configurations réseau permissives, sont particulièrement exposés.
Recommandations immédiates
- Mettre à jour Marimo vers la version 0.23.0 qui corrige la vulnérabilité — advisory Marimo Security Advisory GHSA-2026-39987
- Si la mise à jour n'est pas immédiatement possible, restreindre l'accès réseau aux instances Marimo via des règles de pare-feu ou un reverse proxy avec authentification
- Vérifier les logs d'accès pour toute connexion suspecte à l'endpoint
/terminal/ws - Auditer les instances Marimo exposées sur Internet via un scan de surface d'attaque
⚠️ Urgence
Exploitation active confirmée par CISA et Sysdig. Les attaquants exploitent cette faille moins de 10 heures après sa divulgation. Toute instance Marimo non patchée et accessible depuis le réseau est une cible immédiate. Appliquez le correctif sans délai.
Comment savoir si je suis vulnérable ?
Vérifiez la version de Marimo installée avec la commande pip show marimo ou marimo --version. Si la version affichée est inférieure ou égale à 0.20.4, votre instance est vulnérable. Vérifiez également si le port de l'application est accessible depuis l'extérieur de votre réseau local avec ss -tlnp | grep marimo ou un scan Nmap ciblé.
Détails techniques et vecteur d'attaque
Le vecteur CVSS complet de la CVE-2026-39987 se décompose comme suit : AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, traduisant une exploitation réseau (AV:N) à faible complexité (AC:L), sans privilège requis (PR:N) ni interaction utilisateur (UI:N), avec un impact maximal sur la confidentialité, l'intégrité et la disponibilité. Techniquement, l'endpoint /terminal/ws repose sur le protocole WebSocket pour établir une session PTY interactive côté serveur, fonctionnalité pensée pour permettre aux utilisateurs légitimes d'exécuter des commandes shell depuis l'interface du notebook. Le défaut de validation survient parce que la fonction de contrôle d'accès validate_auth(), correctement invoquée par le handler WebSocket principal (/ws), a été omise lors de l'implémentation du handler terminal — une régression probablement introduite lors de l'ajout de cette fonctionnalité de terminal intégré. Un attaquant n'a donc qu'à établir une connexion WebSocket brute vers cet endpoint, sans jeton de session ni cookie d'authentification, pour recevoir un shell interactif exécuté avec les droits du processus Marimo — généralement l'utilisateur système sous lequel le notebook tourne, parfois avec des permissions élevées dans les environnements de data science mal cloisonnés.
Cette classe de vulnérabilité n'est pas isolée : elle rappelle plusieurs failles similaires découvertes ces dernières années dans l'écosystème des notebooks Python, notamment sur Jupyter, où des endpoints d'administration ou de terminal intégré exposés sans authentification ont permis des compromissions comparables. Le point commun de ces incidents est l'usage de ces plateformes en environnement de développement ou de data science, où les équipes ont tendance à privilégier la rapidité de déploiement — souvent via des conteneurs exposés directement sur Internet pour faciliter l'accès collaboratif — au détriment du durcissement réseau. Les honeypots Sysdig ont documenté des connexions provenant d'adresses IP associées à des scans de masse automatisés, suggérant l'intégration rapide de cette CVE dans des frameworks d'exploitation opportunistes plutôt qu'une campagne ciblée.
Détection et outils de mitigation
Pour détecter une exposition, les administrateurs peuvent interroger directement l'endpoint vulnérable via wscat -c ws://<host>:<port>/terminal/ws : l'obtention d'une réponse de connexion sans challenge d'authentification confirme la vulnérabilité. Des scanners réseau comme Shodan et Censys permettent d'identifier les instances Marimo exposées publiquement via leurs bannières HTTP caractéristiques. Côté journalisation, il convient de surveiller les logs applicatifs Marimo pour toute connexion au path /terminal/ws ne présentant pas d'en-tête d'autorisation valide, ainsi que les commandes shell inhabituelles exécutées par le processus parent Marimo (via auditd ou un EDR).
En complément du correctif, les organisations ne pouvant pas migrer immédiatement vers la version 0.23.0 doivent restreindre l'accès réseau à l'interface Marimo via un pare-feu ou un groupe de sécurité cloud, en la limitant à un VPN ou une liste blanche d'IP internes. L'ajout d'un reverse proxy imposant une authentification préalable (SSO, Basic Auth) devant l'application constitue une mitigation temporaire efficace, tout comme la désactivation explicite de la fonctionnalité terminal intégré lorsque celle-ci n'est pas indispensable à l'usage du notebook.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.
Articles connexes :
À propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-53362 : Linux Kernel IPv6 container escape KEV
CVE-2026-53362 (IPv6 Frag Escape) : out-of-bounds write dans le noyau Linux permettant une élévation de privilèges root et une évasion de conteneur. Exploitation active confirmée, ajout au KEV CISA le 27 août 2026.
CVE-2026-59309 : VMware vCenter auth bypass CVSS 9.8
CVE-2026-59309, authentication bypass CVSS 9.8 dans VMware vCenter vmdir, se chaîne avec CVE-2026-59310 pour un VM escape complet sans authentification. Patch VMSA-2026-0006 obligatoire.
CVE-2026-59310 : VMware vCenter RCE exploité 47 nations
CVE-2026-59310, faille RCE CVSS 9.8 dans VMware vCenter, est exploitée activement depuis août 2026. 361 serveurs compromis dans 47 pays en moins de dix jours. Patchez immédiatement via VMSA-2026-0006.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire