cyberactu

Node2Shell : la faille critique de Node.js désormais exploitée par des hackers

La vulnérabilité Node2Shell, identifiée sous la référence CVE-2026-111497, franchit une nouvelle étape inquiétante. Après plusieurs démonstrations permettant de prendre le contrôle de serveurs Node.js, des chercheurs en cybersécurité ont désormais détecté de véritables tentatives d’exploitation sur Internet. L’agence américaine CISA a également inscrit cette faille critique à son catalogue des vulnérabilités activement exploitées, le 27 octobre 2026.

Les dernières découvertes montrent que des attaquants commencent à s’intéresser concrètement à cette vulnérabilité, qui touche la bibliothèque de compression Brotli utilisée par Node.js et de nombreux autres logiciels. Des tentatives d’exploitation ont déjà été interceptées, notamment avec du code spécialement adapté pour obtenir un accès au serveur ciblé.

Si aucune victime précise d’une compromission réussie n’a été publiquement identifiée dans les rapports examinés au 28 octobre, les preuves techniques et les activités malveillantes observées justifient désormais une vigilance maximale.

La CISA confirme que Node2Shell est exploitée par des attaquants

Le 27 octobre 2026, la Cybersecurity and Infrastructure Security Agency (CISA), l’agence américaine chargée de la cybersécurité, a officiellement ajouté CVE-2026-111497 à son catalogue Known Exploited Vulnerabilities (KEV).

Cette liste recense les vulnérabilités pour lesquelles l’agence dispose d’éléments attestant d’une exploitation réelle. L’inscription de Node2Shell constitue donc un signal important pour les entreprises, les hébergeurs et les administrateurs de serveurs.

La CISA demande aux agences fédérales américaines concernées d’appliquer les mesures correctives avant le 10 novembre 2026. Cette échéance ne s’applique pas automatiquement aux entreprises privées, mais témoigne de la priorité accordée à la menace.

L’agence n’a toutefois pas détaillé les attaques ayant motivé ce classement, ni communiqué l’identité d’éventuelles organisations compromises.

La vulnérabilité ne concerne d’ailleurs pas uniquement Node.js. Elle se situe dans le décodeur de la bibliothèque Brotli, développée par Google et intégrée à différents environnements logiciels.

Node js cyberattaque faille

Une attaque réelle interceptée le 26 octobre : un pirate tente d’obtenir un shell

La société de cybersécurité ELLIO a publié des éléments particulièrement intéressants sur les premières tentatives d’exploitation de Node2Shell détectées sur Internet.

Le 26 octobre 2026, à 15 h 08 UTC, ses systèmes de surveillance ont intercepté une requête malveillante d’environ 23 Mo, conçue pour attaquer une installation précise : Node.js 24.22.0 sur architecture x86-64.

La requête provenait de l’adresse IP 94.154.43.7, déjà identifiée par ELLIO dans plusieurs activités suspectes, notamment des tentatives d’exploitation de failles PHP2Shell, des opérations de reconnaissance de VPN et des scans d’infrastructures Kubernetes.

Plus intéressant encore, les chercheurs ont constaté que l’attaque ne se limitait pas à reproduire une démonstration publique.

Si une partie du mécanisme reprenait du code déjà disponible, la séquence chargée de prendre le contrôle du processus avait été personnalisée par l’attaquant.

Son objectif était de provoquer l’exécution d’un interpréteur de commandes Unix, permettant potentiellement d’exécuter des instructions sur le serveur vulnérable.

Une tentative sérieuse, mais dont la réussite n’a pas été démontrée

ELLIO a reproduit cette attaque dans son laboratoire afin de déterminer si elle permettait réellement de prendre le contrôle de la machine.

Résultat : aucune exécution de shell réussie en 50 tentatives.

Le mécanisme parvenait néanmoins à déclencher la corruption mémoire recherchée. Selon les chercheurs, c’est la dernière étape de la chaîne d’exploitation qui échouait.

Cette observation est importante : elle démontre qu’un acteur malveillant a effectivement commencé à utiliser Node2Shell contre des systèmes accessibles sur Internet, même si cette tentative particulière ne semble pas avoir abouti.

Une autre tentative signalée le 27 octobre

Les observations d’ELLIO ne sont pas isolées. La société de cybersécurité Previdian indique également avoir détecté, le 27 octobre, une tentative d’exploitation visant CVE-2026-111497 à travers son réseau de capteurs.

Cette nouvelle détection constitue un signal supplémentaire de l’intérêt que portent les attaquants à cette vulnérabilité. Previdian précise néanmoins que la détection d’une tentative ne permet pas, à elle seule, de conclure à une compromission réussie.

Node2Shell : des chercheurs démontrent une véritable prise de contrôle sur x86-64

Parallèlement aux premières attaques observées sur Internet, les recherches techniques ont considérablement progressé.

Une première démonstration menée par les chercheurs d’Imperva avait déjà permis d’obtenir une exécution de code à distance sur une version officielle de Node.js 24.22.0 fonctionnant sous Linux ARM64.

Le 25 octobre 2026, ELLIO a publié une nouvelle analyse démontrant qu’une exploitation similaire était également possible sur des systèmes x86-64, une architecture largement utilisée dans les serveurs informatiques.

Les chercheurs ont obtenu un accès de type shell dans quatre configurations distinctes :

  • Un serveur HTTP utilisant directement les modules de Node.js.
  • Un conteneur Docker officiel node:24.22.0-slim.
  • Une application utilisant Express 5.3.0.
  • Une application utilisant Koa 3.

Les tests ont été réalisés avec des binaires officiels non modifiés, sans désactiver les protections mémoire habituelles comme l’ASLR, qui rend certaines exploitations plus difficiles.

Dans les quatre configurations, les chercheurs sont parvenus à obtenir un shell avec les privilèges du processus ciblé. Dans le cas du conteneur Docker testé, le service fonctionnait avec les droits root.

Ces démonstrations confirment que Node2Shell ne constitue pas simplement un risque théorique : la vulnérabilité peut réellement conduire à l’exécution de commandes sur une installation standard, dès lors que l’application traite des données Brotli malveillantes.

Une limite demeure cependant : les techniques utilisées dépendent de caractéristiques propres à chaque version compilée de Node.js. Une chaîne d’exploitation fonctionnant sur une version précise ne fonctionne donc pas nécessairement, sans adaptation, sur toutes les autres versions vulnérables.

Comment fonctionne la vulnérabilité Node2Shell ?

Node2Shell, également connue sous les noms HTTP2Shell et Broccoli2Shell, correspond à la vulnérabilité CVE-2026-111497, évaluée à 9,2 sur 10 selon le système CVSS 4.0.

Elle affecte le décodeur de Brotli, une bibliothèque permettant de compresser et de décompresser des données afin de réduire leur volume lors des échanges informatiques.

Le problème apparaît lorsqu’un programme vulnérable tente de décompresser des données spécialement construites. Une erreur dans la gestion d’un changement de bloc peut amener le décodeur à écrire des informations en dehors de la zone mémoire prévue.

Cette corruption mémoire peut provoquer plusieurs conséquences :

  • Un déni de service : le processus peut planter et rendre temporairement indisponible l’application.
  • Une exposition de données : certaines informations présentes dans la mémoire du processus peuvent potentiellement être divulguées.
  • Une exécution de code à distance (RCE) : dans certaines conditions, l’attaquant peut parvenir à exécuter ses propres commandes.

L’exploitation peut se produire sans authentification préalable, lorsque l’attaquant est capable de fournir des données Brotli que l’application va décompresser.

Tous les serveurs Node.js sont-ils directement exploitables ?

Non. La présence d’une version vulnérable ne signifie pas automatiquement qu’une attaque distante est possible.

L’application doit également traiter des données compressées avec Brotli provenant d’une source non fiable. Cela peut notamment se produire lorsqu’un serveur accepte des requêtes HTTP compressées ou lorsqu’il récupère et décompresse automatiquement des réponses provenant de services externes.

Certains middlewares utilisés avec Express ou Koa peuvent déclencher cette décompression. À l’inverse, un serveur HTTP Node.js minimal ne décompresse pas automatiquement toutes les requêtes Brotli qu’il reçoit.

Quelles versions de Node.js sont vulnérables à Node2Shell ?

Le projet Node.js a publié plusieurs mises à jour de sécurité le 21 octobre 2026 pour corriger CVE-2026-111497.

Branche Node.jsVersion corrigée
Node.js 22.x22.23.4
Node.js 24.x24.22.1
Node.js 26.x26.12.1
Node.js 20.x, 23.x et 25.xVersions en fin de vie, migration nécessaire

Les administrateurs doivent installer une version corrigée de leur branche ou une version ultérieure bénéficiant du correctif.

La vulnérabilité concerne aussi d’autres écosystèmes utilisant des implémentations affectées de Brotli, notamment certains composants de Python, Bun et .NET. Ces environnements nécessitent des mises à jour adaptées à leurs propres versions.

Comment se protéger de Node2Shell ?

Face aux premières observations d’exploitation, les administrateurs doivent traiter cette vulnérabilité comme une priorité de sécurité.

  • Mettre à jour Node.js vers les versions 22.23.4, 24.22.1 ou 26.12.1, ou une version ultérieure corrigée.
  • Vérifier les conteneurs Docker et reconstruire les images embarquant encore une version vulnérable du runtime.
  • Inventorier les composants Brotli présents dans les applications, y compris les copies intégrées directement à des logiciels.
  • Limiter temporairement le traitement des requêtes Brotli non indispensables provenant de sources non fiables, sans considérer cette mesure comme un correctif complet.
  • Surveiller les journaux et les redémarrages anormaux des processus Node.js, les tentatives d’exploitation pouvant également provoquer des plantages.
  • Contrôler les flux sortants et les applications qui téléchargent automatiquement du contenu externe.

Attention : bloquer uniquement les requêtes Brotli entrantes ne protège pas nécessairement les applications qui décompressent des réponses HTTP récupérées depuis des serveurs externes.

La mise à jour des composants vulnérables demeure la protection la plus fiable.

Une menace à surveiller de très près dans les prochains jours

En quelques jours, Node2Shell est passée du statut de vulnérabilité nouvellement divulguée à celui de faille pour laquelle des démonstrations fonctionnelles et des tentatives d’exploitation sur Internet ont été documentées.

La progression est rapide : correctifs publiés le 21 octobre, démonstrations d’exécution de code sur ARM64 puis x86-64, première tentative malveillante interceptée le 26 octobre et inscription au catalogue des vulnérabilités exploitées de la CISA dès le lendemain.

Le fait qu’un attaquant ait déjà tenté d’adapter une chaîne d’exploitation, plutôt que de simplement recopier intégralement une démonstration publique, témoigne d’un intérêt concret pour cette faille.

À ce stade, il reste cependant essentiel de distinguer les attaques détectées, les démonstrations réussies en laboratoire et les compromissions confirmées de victimes réelles. Les observations publiées ne permettent pas encore d’attribuer une compromission précise à la tentative analysée par ELLIO.

Pour les équipes de sécurité, le message est néanmoins clair : les correctifs sont disponibles et la vulnérabilité fait déjà l’objet d’activités malveillantes. Attendre la publication de premières victimes identifiées serait prendre un risque inutile.

Thomas Lazzaroni Thomas Lazzaroni
Articles similaires