Faille RCE pré-authentifiée CVSS 9.3 dans le notebook Python Marimo, exploitée moins de 10h après publication pour déployer le malware NKAbuse.
En bref
- CVE-2026-39987 (CVSS 9.3) : endpoint WebSocket /terminal/ws non authentifié dans Marimo, ouvrant un shell PTY complet à tout attaquant distant.
- Toutes les versions Marimo <= 0.20.4 sont affectées ; correctif disponible uniquement à partir de la 0.23.0.
- Exploitation active confirmée 9h41 après publication, malware NKAbuse déployé sur les instances compromises, ajout KEV CISA.
Les faits
Le 8 avril 2026, une vulnérabilité critique pré-authentification a été publiée dans Marimo, notebook Python open-source utilisé pour la data science et l'analyse reproductible, référencée CVE-2026-39987 et scorée CVSS 9.3. Le défaut réside dans l'endpoint WebSocket /terminal/ws, qui accepte des connexions sans valider aucune forme d'authentification, permettant à un attaquant non authentifié d'obtenir un shell PTY complet et d'exécuter des commandes système arbitraires sur la machine hôte avec les privilèges du processus Marimo. Selon le Sysdig Threat Research Team, l'exploitation en conditions réelles a été observée 9 heures et 41 minutes après la publication officielle de l'advisory, sans aucun code d'exploit public disponible à ce moment. L'attaquant a reconstitué l'exploit directement à partir de la description textuelle du bulletin, puis a établi une connexion WebSocket manuelle vers l'endpoint vulnérable pour commencer l'exploration du système compromis. Les premières exfiltrations de credentials cloud ont pris moins de 3 minutes après compromission initiale. Endor Labs et Security Affairs confirment que le défaut affecte l'ensemble des versions antérieures ou égales à 0.20.4 ; le correctif officiel n'est disponible qu'à partir de la 0.23.0 de Marimo.
Entre le 11 et le 14 avril 2026, Sysdig a comptabilisé 662 événements d'exploitation distincts contre ses honeypots et ses clients, largement utilisés pour déployer une nouvelle variante du malware multi-plateforme NKAbuse, connu pour ses capacités de botnet et de relai de commandes via NKN (New Kind of Network). CISA a ajouté CVE-2026-39987 à son catalogue Known Exploited Vulnerabilities, imposant aux agences fédérales un délai de remédiation de trois semaines. BleepingComputer et SC Media rapportent plusieurs campagnes opportunistes ciblant des instances Marimo exposées publiquement sur Internet, notamment dans le cadre de déploiements cloud de data scientists et d'environnements de formation académiques.
Impact et exposition
Marimo est largement déployé dans les environnements de data science, souvent sur des VMs cloud ou conteneurs avec accès direct à des credentials AWS, GCP ou Azure via les variables d'environnement. Une compromission donne à l'attaquant un accès immédiat à ces secrets, ainsi qu'aux datasets potentiellement sensibles manipulés dans les notebooks. Les équipes exposant Marimo sur Internet sans reverse proxy authentifiant en frontal sont particulièrement exposées ; la surface d'attaque inclut également les déploiements Jupyter-compatibles embarqués dans des plateformes éducatives. La vitesse d'exploitation (moins de 10 heures) démontre qu'aucune fenêtre de patching différée n'est acceptable pour ce type de service exposé.
Recommandations immédiates
- Migrer immédiatement vers Marimo 0.23.0 ou supérieure via
pip install --upgrade marimo, puis redémarrer tous les processus notebook existants. - Si l'upgrade n'est pas immédiatement possible, bloquer l'accès réseau à l'endpoint /terminal/ws via reverse proxy (Nginx, Traefik) ou firewall applicatif, et restreindre Marimo à localhost.
- Rechercher dans les logs système la présence de processus
marimoayant spawné des shells (/bin/bash,/bin/sh) ainsi que des connexions sortantes vers des IP NKN ou non listées. - Rotation immédiate des credentials cloud accessibles aux environnements Marimo compromis potentiels (clés AWS, tokens GCP, secrets Azure).
⚠ Exploitation active confirmée
Sysdig a observé une exploitation en 9h41 minutes après publication, sans exploit public. Toute instance Marimo <= 0.20.4 exposée sur Internet doit être considérée comme potentiellement compromise. Déconnectez immédiatement et lancez une investigation forensique avant toute remise en service.
À retenir
La fenêtre entre publication d'un advisory et exploitation massive se réduit à quelques heures. Pour les services exposés sur Internet, aucun délai de patching au-delà de 24 heures n'est désormais défendable, et la segmentation réseau devient une contre-mesure obligatoire indépendamment du patching.
Comment savoir si je suis vulnérable ?
Vérifiez la version de Marimo installée via marimo --version ou pip show marimo. Toutes les versions antérieures ou égales à 0.20.4 sont vulnérables. Pour tester l'exposition réseau, exécutez curl -i http://localhost:port/terminal/ws : une réponse 101 Switching Protocols ou 426 Upgrade Required indique un endpoint présent. Seules les versions 0.23.0 et supérieures intègrent le correctif.
Quels indicateurs de compromission surveiller ?
Recherchez dans les logs applicatifs Marimo des connexions WebSocket vers /terminal/ws depuis des IP externes non autorisées. Au niveau système, surveillez les processus enfants du binaire Marimo, notamment des shells interactifs et des outils de reconnaissance (whoami, id, env). Les IoC NKAbuse incluent des connexions sortantes vers le réseau NKN et la présence de binaires dans /tmp/ ou /dev/shm/.
Cette vague d'exploitations rapides rappelle les campagnes récentes : voir notre analyse de CVE-2026-5760 sur SGLang où le vecteur GGUF a été exploité en quelques jours, ainsi que CVE-2026-32604 sur Spinnaker Gitrepo. Les environnements de data science cloud sont également ciblés via CVE-2026-5059 aws-mcp-server, et les exploitations de services Python exposés sont détaillées dans notre dossier sur CVE-2026-34197 ActiveMQ Jolokia.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.
Demander un auditÀ 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-33519 : Esri Portal ArcGIS auth bypass (9.8)
Faille d'autorisation critique CVSS 9.8 dans Esri Portal for ArcGIS : les credentials développeur mal vérifiés permettent l'escalade administrateur.
CVE-2026-40372 : EoP signature ASP.NET Core (CVSS 9.1)
Microsoft publie un correctif out-of-band pour CVE-2026-40372, une faille de vérification de signature dans ASP.NET Core DataProtection permettant l'élévation SYSTEM.
CVE-2026-40575 : bypass auth OAuth2 Proxy (CVSS 9.1)
Une faille critique dans OAuth2 Proxy permet à un attaquant non authentifié de contourner l'authentification via le header X-Forwarded-Uri.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire