CVE-2026-39987 (Marimo, CVSS 9.3) : endpoint WebSocket /terminal/ws non authentifié, RCE exploitée 9 h 41 après disclosure et backdoor NKAbuse diffusé via Hugging Face.
En bref
- CVE-2026-39987 (CVSS 9.3) : endpoint WebSocket
/terminal/wsde Marimo sans authentification, aboutissant à un shell PTY non authentifié sur toutes les versions <= 0.20.4. - Sysdig a mesuré une exploitation 9 h 41 après publication de l'avis, avec 662 événements observés entre le 11 et le 14 avril 2026 et dépôt du backdoor NKAbuse.
- Correctif disponible en Marimo 0.23.0 ; l'attaque s'est propagée via des Spaces Hugging Face publics faisant tourner des notebooks vulnérables.
Les faits
Le 8 avril 2026, les mainteneurs de Marimo — un notebook Python réactif très populaire dans les workflows data et IA — ont publié un avis décrivant CVE-2026-39987, une faille de contrôle d'authentification sur l'endpoint WebSocket /terminal/ws. Cotée 9.3 en CVSS, la vulnérabilité laisse un attaquant non authentifié ouvrir un terminal PTY complet sur la machine hébergeant le notebook, là où tous les autres endpoints WebSocket appellent bien la fonction validate_auth(). L'équipe de réponse de Sysdig Threat Research Team a documenté le premier tir observé exactement 9 heures et 41 minutes après publication — un attaquant a reconstruit l'exploit à partir du seul texte de l'advisory, sans aucun code public disponible, et a obtenu un shell racine en moins de trois minutes.
Les honeypots Sysdig ont ensuite enregistré 662 tentatives d'exploitation entre le 11 et le 14 avril 2026. Plusieurs opérateurs distincts se partagent la campagne : l'un d'eux héberge son payload sur Hugging Face Spaces, ce qui permet à un domaine de confiance de servir le téléchargement de second étage. Le binaire livré est une variante non documentée de NKAbuse, un backdoor Go qui utilise le réseau pair-à-pair NKN (blockchain) pour ses communications command-and-control. Cette architecture rend le C2 difficile à bloquer par adresse IP ou DNS, puisque chaque pair relaie anonymement les messages sur la chaîne.
Impact et exposition
Sont exposées toutes les instances Marimo <= 0.20.4 accessibles depuis le réseau avec le mode run ou edit actif. La vulnérabilité ne requiert aucun compte, aucune interaction utilisateur et aucune condition race : un simple ws://cible/terminal/ws suffit. Les environnements à risque élevé combinent trois profils courants : les déploiements internes où les équipes ML partagent des notebooks derrière un reverse-proxy sans authentification supplémentaire ; les hôtes cloud publiant Marimo sur un port exposé pour des démos ; et les Hugging Face Spaces en mode dev dont la configuration par défaut expose l'interface.
La vitesse d'exploitation observée — 9 h 41 — représente un jalon. Elle dépasse les fenêtres historiques de Log4Shell (< 24 h) et confirme la compression massive du cycle disclosure-to-exploit sur les logiciels open source utilisés dans l'IA. À cet égard, l'écosystème notebook partage désormais la même pression opérationnelle que les serveurs web classiques, comme l'a déjà illustré l'affaire MCPwn sur nginx-ui.
Recommandations
- Migrer immédiatement vers Marimo 0.23.0 ; la branche 0.22 reste vulnérable.
- Bloquer en ingress toute route contenant
/terminal/wssur le reverse-proxy devant Marimo, même après patch. - Imposer une authentification mutuelle (mTLS ou token) sur l'intégralité de l'interface Marimo exposée publiquement.
- Auditer les processus hôtes à la recherche de binaires NKAbuse ; l'IOC principal est un processus Go établissant des connexions vers des nœuds NKN sur le port 30003.
- Surveiller les Spaces Hugging Face internes ou autohébergés pour détecter les workspaces contenant un Marimo non patché.
Alerte critique
L'exploitation est active, automatisée et entraîne la compromission complète de l'hôte. Toute instance Marimo exposée sur Internet ou sur un réseau multi-utilisateur doit être considérée comme potentiellement compromise tant que le patch et un audit n'ont pas été menés.
Notre Marimo tourne derrière un reverse-proxy avec Basic Auth : sommes-nous protégés ?
Oui, si le Basic Auth est configuré sur l'intégralité des routes y compris les WebSockets. Un grand nombre de configurations Nginx laissent passer les upgrades WebSocket sans réapplication du filtre d'authentification. Vérifiez explicitement que la directive auth_basic s'applique aussi au bloc gérant l'upgrade HTTP.
Comment savoir si NKAbuse a déjà été déployé sur notre hôte ?
Recherchez tout binaire Go inconnu établissant des connexions sortantes vers des nœuds NKN (port 30003/tcp et 30020/tcp), ainsi que les processus nommés de façon générique (systemd-worker, kdaemon). Sysdig fournit des règles Falco publiques couvrant ce comportement ; sur un système sans EDR adapté, un simple ss -tnp combiné à une analyse des connexions sortantes récurrentes suffit souvent à repérer l'implant.
Ce qu'il faut retenir
La chaîne d'attaque Marimo résume la nouvelle norme : un avis public honnête mais minimal, un attaquant qui reconstruit l'exploit en quelques heures, et un vecteur de distribution malveillant greffé sur une plateforme légitime comme Hugging Face. Pour les équipes sécurité, les notebooks et outils de développement IA ne peuvent plus être traités comme des bacs à sable de second ordre : ils sont désormais des serveurs exposés à part entière. Voir aussi notre analyse de la situation du NVD côté NIST et notre dossier sur les outils de sécurité eux-mêmes devenus vecteurs d'attaque.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits de sécurité ciblés pour identifier et corriger vos vulnérabilités avant qu'elles ne soient exploitées.
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
Articles connexes
ShinyHunters revendique la compromission de Rockstar Games
Le groupe ShinyHunters a listé Rockstar Games sur son site de fuite mi-avril 2026 et menace de publier des données volées. Ni Rockstar ni Take-Two n'ont confirmé.
BlueHammer CVE-2026-33824 : RCE Windows IKE en CVSS 9.8
CVE-2026-33824 (BlueHammer, CVSS 9.8) : double-free dans IKEEXT.dll permettant l'exécution de code SYSTEM non authentifié via UDP/500 ou UDP/4500. Zero-day corrigé en avril.
SAP CVE-2026-27681 : SQL injection ABAP notée 9.9 sur BPC
SAP CVE-2026-27681 (CVSS 9.9) permet à un utilisateur à faibles privilèges d'exécuter du SQL arbitraire dans BPC et Business Warehouse. Patch disponible via la Note 3719353, déploiement prioritaire.
Commentaires (1)
Laisser un commentaire