Faille Node2Shell dans Node.js exploitée : une mise à jour gratuite ferme votre serveur aux attaquants

Node2Shell, faille de Node.js notée 9,2, permet d'exécuter du code sur votre serveur sans mot de passe. Versions corrigées, qui est exposé et cinq étapes à suivre.

Équipe OrigamiÉquipe éditoriale
7 min de lecture
Faille Node2Shell dans Node.js exploitée : une mise à jour gratuite ferme votre serveur aux attaquants

Si l'application, le site, la boutique en ligne ou l'API de votre entreprise a été développé avec Node.js, y compris les sites Next.js et les back-ends Express ou NestJS, demandez dès aujourd'hui à votre développeur de passer Node.js en version 22.23.4, 24.22.1 ou 26.12.1, puis de reconstruire et redémarrer le serveur. Le projet Node.js a publié ces versions le 21 octobre 2026 pour corriger une faille baptisée Node2Shell (CVE-2026-111497), notée 9,2 sur 10, qui permet à un attaquant sans aucun mot de passe d'exécuter du code sur votre serveur en lui envoyant des données compressées spécialement fabriquées. L'Autorité nationale saoudienne de cybersécurité a publié une alerte de niveau « très élevé », et le 27 octobre l'agence américaine de cybersécurité CISA a confirmé que la faille est exploitée dans de vraies attaques.

Que s'est-il passé exactement ?

La faille se trouve dans Brotli, un format de compression que les serveurs web et les navigateurs utilisent pour réduire le volume des données qu'ils échangent, et Node.js embarque sa propre copie du décodeur Brotli de Google. Selon l'avis de sécurité de Node.js, des données compressées malformées font écrire le décodeur au-delà de la fin d'un tampon interne, ce qui peut faire planter l'application, divulguer le contenu de sa mémoire ou permettre à un attaquant d'exécuter du code. L'avis attribue le signalement à l'équipe Codex Security d'OpenAI, et la même publication a corrigé 10 vulnérabilités au total, dont 4 de gravité élevée.

Les événements se sont ensuite accélérés. Le 22 octobre, un jour après le correctif, l'équipe Red Team d'Imperva a exécuté du code sur l'image officielle de Node.js 24.22.0 par deux chemins du quotidien : la fonction fetch() intégrée et les corps de requête traités par Express 5. Le 26 octobre, ELLIO a enregistré un véritable trafic d'exploitation portant un code d'attaque public. Le 27 octobre, la CISA a ajouté la faille à son catalogue des vulnérabilités exploitées dans la nature.

Le défaut lui-même est ancien. Selon la fiche CVE, il touche les versions 1.0.3 à 1.2.0 de Brotli, et OpenAI indique que la cause profonde avait été corrigée dans le code source de Brotli en février 2026, sans que personne ne sache qu'il s'agissait d'une faille de sécurité et sans nouvelle version, jusqu'à la sortie de Brotli 1.2.1 le 21 octobre. Si cela vous rappelle quelque chose, c'est normal : la semaine dernière, nous avons couvert PHP2Shell, la faille qui ouvrait les serveurs PHP et WordPress. Node2Shell représente le même type de risque pour les applications écrites en JavaScript.

Mon application est-elle concernée ?

Node.js fait tourner la partie serveur d'une grande partie des sites modernes, des back-ends d'applications mobiles, des tableaux de bord et des API. Si votre système a été développé ces dernières années par une agence ou un développeur indépendant, il y a de bonnes chances qu'il tourne sous Node.js sans que vous le sachiez. Les branches touchées sont 22.x, 24.x et 26.x avant les versions corrigées, ainsi que les branches en fin de vie 20.x, 23.x et 25.x, dont le projet Node.js rappelle qu'elles sont toujours concernées et ne recevront aucun correctif.

Faire tourner Node.js ne suffit pas à vous exposer : encore faut-il que quelque chose transmette les données de l'attaquant au décodeur. Les chercheurs citent trois chemins courants :

  • Des requêtes compressées entrantes. Les analyseurs de corps de requête d'Express 5, de body-parser 2 et de Koa décompressent automatiquement les corps au format Brotli, avant même que votre propre code ne s'exécute.
  • Du contenu que votre serveur va chercher. Si votre application ouvre des liens externes, comme les aperçus de liens, les webhooks, les robots d'exploration ou les agents d'IA qui lisent des pages web, un site hostile peut répondre avec des données compressées piégées. La fonction fetch() intégrée, axios et les requêtes côté serveur de frameworks comme Next.js les décompressent automatiquement.
  • Des fichiers envoyés par les utilisateurs. Tout code qui décompresse des données Brotli fournies par un client ou un visiteur.

Le risque dépasse Node.js. L'alerte de la NCA cite aussi Python, Bun et Envoy, et Microsoft a publié le 25 octobre des correctifs pour .NET 8, 9, 10 et 11, Visual Studio 2019, 2022 et 2026, et PowerShell 7.4 à 7.6, en classant la faille critique pour .NET avec l'évaluation « Exploitation More Likely ». Microsoft précise que la décompression Brotli n'est pas activée par défaut dans .NET : seules les applications qui l'ont activée sont exposées.

Si votre site est hébergé chez Vercel, l'entreprise indique dans son avis avoir déployé, le jour même où Node.js a publié le correctif, des règles de pare-feu bloquant le chemin d'attaque entrant pour tous les projets, et que tous les nouveaux déploiements utilisent un Node.js corrigé depuis le 28 octobre. Les projets existants doivent être redéployés, et ceux encore sous Node.js 20 doivent passer en 22 ou 24.

Que faire aujourd'hui : cinq étapes

  1. Posez une question par écrit. Quelle version de Node.js tourne sur nos serveurs et dans nos images Docker ? Demandez à votre développeur de vérifier le numéro de version de Node.js avec la commande node -v. Ne vous fiez pas au numéro de version de Brotli : ELLIO a constaté qu'il affiche 1.2.0 sur les versions corrigées comme sur les vulnérables.
  2. Passez à une version corrigée. 22.23.4, 24.22.1 ou 26.12.1. Si vous êtes en 20.x, 23.x ou 25.x, migrez vers une branche maintenue comme la 22 ou la 24, et testez avant la mise en production.
  3. Reconstruisez et redémarrez. Un processus en cours d'exécution garde l'ancien code. Reconstruisez les images de conteneurs sur une image de base corrigée, car un Dockerfile figé sur 24.22.0 continuera de livrer la version vulnérable tant que personne ne modifie cette ligne. Vérifiez aussi les serveurs de préproduction, les chaînes de build et les fonctions serverless.
  4. Mettez à jour les autres copies. Les paquets Python Brotli et brotlicffi (versions 1.2.1 et 1.2.1.0), Bun, Envoy, la bibliothèque Brotli de votre distribution Linux, et .NET via la mise à jour Microsoft du 25 octobre.
  5. Surveillez les journaux et les fichiers de plantage. Cherchez des requêtes compressées en Brotli anormalement volumineuses et des plantages répétés des processus. ELLIO prévient que la plupart des attaques ratées font planter le processus, et qu'un fichier de plantage peut contenir les cookies de session et les clés des visiteurs : limitez qui peut lire ces fichiers (core dumps) et leur durée de conservation.

Si vous ne pouvez pas mettre à jour aujourd'hui

En mesure temporaire, bloquez sur votre serveur frontal ou votre pare-feu les requêtes entrantes portant l'en-tête Content-Encoding: br, si votre application n'en a pas besoin. Vercel et Imperva ont ajouté des règles de pare-feu pour cette faille, mais Vercel souligne elle-même qu'un pare-feu ne couvre pas les réponses que votre serveur récupère sur d'autres sites : seule la mise à jour de Node.js ferme ce chemin. Considérez toute couche de protection comme du temps gagné, pas comme un substitut à la mise à jour.

Le regard d'Origami

Deux failles critiques dans les fondations du web en un mois, PHP2Shell puis Node2Shell, racontent une histoire claire : le code écrit par votre équipe peut être sain alors que l'environnement d'exécution en dessous est ouvert. Le correctif de Node2Shell a dormi environ huit mois dans le code source de Brotli avant que quiconque ne comprenne qu'il s'agissait d'un problème de sécurité, et une fois les détails publiés, il a fallu un jour aux chercheurs pour exécuter du code sur une version officielle. Ce que nous voyons dans beaucoup d'entreprises, c'est une application livrée il y a des années, dont personne n'assure les mises à jour, et aucune liste des endroits où Node.js tourne réellement. Si c'est votre cas, commencez cette liste aujourd'hui. Chez Origami, nous construisons des applications web et des systèmes, dont beaucoup tournent sous Node.js et Next.js, et nous suivons les mises à jour de leur environnement dès le premier jour. Pour faire vérifier votre application ou migrer Node.js sans interruption, contactez-nous.

Sources

#Node2Shell#Mise à jour Node.js#Sécurité des serveurs#Cybersécurité

Questions fréquentes

Le site de mon entreprise est-il concerné par Node2Shell s'il est construit avec Next.js ?

Il peut l'être. Next.js tourne sous Node.js, et ses requêtes côté serveur passent par le décodeur vulnérable. Chez Vercel, les nouveaux déploiements utilisent un Node.js corrigé depuis le 28 octobre, un redéploiement suffit donc ; si vous l'hébergez vous-même, passez Node.js en 22.23.4, 24.22.1 ou 26.12.1.

Quelles versions de Node.js corrigent Node2Shell ?

Les versions 22.23.4, 24.22.1 et 26.12.1, publiées le 21 octobre 2026. Les branches 20.x, 23.x et 25.x sont en fin de vie et ne recevront aucun correctif : migrez vers la 22 ou la 24.

Comment savoir quelle version de Node.js fait tourner mon application ?

Demandez à votre développeur d'exécuter node -v sur le serveur et dans chaque image Docker, et de vous envoyer le résultat par écrit. Ne vous fiez pas au numéro de version de Brotli : il affiche 1.2.0 sur les versions corrigées comme sur les vulnérables.

Un pare-feu applicatif (WAF) suffit-il à la place de la mise à jour ?

Non. Un WAF peut bloquer les requêtes compressées malveillantes entrantes, mais il ne couvre pas les réponses que votre serveur récupère sur d'autres sites. Vercel et Imperva ont toutes deux ajouté des règles WAF pour cette faille, et toutes deux demandent quand même de mettre à jour Node.js.

Suivez Origami sur Google

Ajoutez Origami à vos sources préférées : nos articles apparaîtront en premier pour vous dans la recherche Google et les actualités à la une.

Add as a preferred source on Google

Notez cet article

Articles liés

Piratage des frigos de supermarchés en France : 50 °C dans les vitrines, 5 étapes pour protéger votre stock réfrigéré
Cybersécurité

Piratage des frigos de supermarchés en France : 50 °C dans les vitrines, 5 étapes pour protéger votre stock réfrigéré

Des attaquants ont pris la main sur les régulateurs de froid de centaines de supermarchés européens et poussé les frigos à 50 °C. Voici 5 étapes pour protéger le stock réfrigéré de votre magasin, restaurant ou entrepôt.

6 min de lecture
Google peut-il utiliser votre Gmail pour vous montrer des publicités ? Ce qui a changé le 16 octobre
Cybersécurité

Google peut-il utiliser votre Gmail pour vous montrer des publicités ? Ce qui a changé le 16 octobre

La politique de confidentialité de Google autorise des annonces fondées sur Gmail si vous le connectez à la recherche. Qui est concerné et 3 actions à mener.

6 min de lecture
Fuite de données chez Cloudflare : son IA a envoyé les données d'autres clients dans 155 réponses, 5 questions à poser à votre fournisseur
Cybersécurité

Fuite de données chez Cloudflare : son IA a envoyé les données d'autres clients dans 155 réponses, 5 questions à poser à votre fournisseur

Fuite de données chez Cloudflare : 155 réponses de son IA contenaient les données d'autres clients entre le 27 août et le 9 septembre 2026. Les faits, 5 questions et les étapes.

7 min de lecture
Qui peut entrer dans le Microsoft 365 de votre entreprise sans mot de passe ? Une application de sauvegarde piratée a ciblé plus de 2 250 organisations
Cybersécurité

Qui peut entrer dans le Microsoft 365 de votre entreprise sans mot de passe ? Une application de sauvegarde piratée a ciblé plus de 2 250 organisations

Les applications connectées à Microsoft 365 lisent vos e-mails sans mot de passe. La faille ConnectWise a ciblé 2 250 organisations : 5 mesures pour auditer les vôtres.

7 min de lecture
Failles PHP : patché après PHP2Shell ? Une nouvelle alerte que la mise à jour du 21 octobre ne corrige pas, et le réglage qui la bloque
Cybersécurité

Failles PHP : patché après PHP2Shell ? Une nouvelle alerte que la mise à jour du 21 octobre ne corrige pas, et le réglage qui la bloque

PHP corrigé après PHP2Shell ? Le 23 octobre, le projet PHP a signalé une troisième faille que la mise à jour du 21 octobre ne corrige pas. Voici le réglage à changer aujourd'hui, et 5 questions à poser à votre hébergeur.

6 min de lecture
Mettez à jour votre pare-feu FortiGate avant le 10 novembre : des failles critiques trouvées par l'IA seront rendues publiques ce jour-là
Cybersécurité

Mettez à jour votre pare-feu FortiGate avant le 10 novembre : des failles critiques trouvées par l'IA seront rendues publiques ce jour-là

Mettez à jour FortiOS sur votre pare-feu FortiGate en 7.4.13, 7.6.8 ou plus avant le 10 novembre, date où Fortinet publiera des failles critiques trouvées par l'IA.

6 min de lecture

Un projet en tête ?

Nous développons des systèmes, des applications et des sites sur mesure pour votre entreprise. Parlez-nous de votre idée et nous vous donnerons une réponse franche.

Une séance. Vingt minutes. Sans engagement.