Node.js : mises à jour de sécurité d'octobre 2026, 10 failles corrigées
Le 21 octobre 2026, l'équipe Node.js a publié des versions de sécurité pour toutes les branches maintenues. Elles corrigent 10 vulnérabilités : 4 de gravité élevée, 3 moyennes et 3 faibles. La plus sérieuse, dans le décompresseur Brotli, peut aller jusqu'à l'exécution de code si votre application décompresse des données envoyées par un tiers.
En résumé : passez à Node.js 22.23.4, 24.22.1 ou 26.12.1 (ou plus récent), puis redémarrez vos applications.
Les failles les plus importantes
CVE-2026-111497 : dépassement mémoire dans Brotli (élevée)
Des données compressées malformées peuvent faire écrire le décompresseur Brotli au-delà d'un petit tampon interne lorsqu'elles sont décompressées avec node:zlib. Selon les cas : plantage, fuite de mémoire ou exécution de code. Sont exposées les applications qui décompressent du contenu fourni par l'extérieur : réponses HTTP compressées, fichiers envoyés, webhooks. La même faille touche la bibliothèque Brotli utilisée ailleurs, notamment par certaines versions de PHP sous Windows.
Trois contournements de vérification TLS (élevée et moyenne)
- CVE-2026-105483 : une adresse IP écrite avec des chiffres « pleine largeur » (caractères Unicode) pouvait passer la vérification du nom d'hôte (branches 24 et 26) ;
- CVE-2026-106069 : même problème avec des adresses écrites de façon inhabituelle, par exemple en octal avec des zéros en tête ;
- CVE-2026-106072 (moyenne) : un nom d'hôte IPv4 non standard pouvait faire accepter un certificat prévu pour un nom de domaine.
Concrètement, une application qui se connecte à des adresses fournies par un utilisateur (appel d'API, webhook, récupération d'URL) pouvait accepter un mauvais certificat, ce qui ouvre la porte à l'interception du trafic.
CVE-2026-105482 : noms DNS tronqués (élevée)
dns.resolve*() et dns.reverse() coupaient un nom d'hôte au premier caractère nul. Une liste d'autorisation basée sur le nom pouvait ainsi être contournée. C'est la correction incomplète d'une faille précédente.
Les autres
- CVE-2026-105481 (moyenne) : sur une connexion HTTP réutilisée, une réponse envoyée avant la requête pouvait être acceptée ;
- CVE-2026-106074 (moyenne) :
crypto.randomUUID()etcrypto.randomInt()pouvaient renvoyer les mêmes valeurs d'un processus à l'autre quand l'application démarre depuis un instantané (snapshot) ou un exécutable autonome (SEA) ; - CVE-2026-106070, CVE-2026-106071, CVE-2026-106073 (faibles) : lecture de ZIP et contournements du modèle de permissions expérimental.
Les mêmes versions mettent aussi à jour OpenSSL, c-ares, Undici, SQLite et les certificats racine.
Versions corrigées
| Branche | Version corrigée |
|---|---|
| Node.js 26 | 26.12.1 |
| Node.js 24 | 24.22.1 |
| Node.js 22 | 22.23.4 |
| Node.js 20 et plus ancien | fin de vie : toujours vulnérable, à migrer |
Vérifier votre serveur
node --version
Si vous utilisez plusieurs versions (nvm, conteneurs Docker, gestionnaire de processus), vérifiez chacune :
ls ~/.nvm/versions/node 2>/dev/null
docker ps --format '{{.Image}}' | grep -i node
Mettre à jour
- Paquet NodeSource ou distribution :
sudo apt-get update && sudo apt-get install --only-upgrade nodejs - nvm :
nvm install 24 && nvm alias default 24 - Docker : reconstruisez vos images à partir de
node:24(ou de la version épinglée corrigée), puis redéployez.
Ensuite, redémarrez vos applications (pm2 restart all, systemctl restart … ou redéploiement) : un processus déjà lancé garde l'ancienne version en mémoire.
Comment FounderMode vous aide
L'agent FounderMode inventorie les logiciels et dépendances de vos serveurs, dont les paquets npm, et les compare chaque jour aux bases publiques de vulnérabilités. Le rapport quotidien indique ce qu'il faut mettre à jour en premier. Pour aller plus loin : CVE et dépendances vulnérables.
Questions fréquentes
Mon application est-elle vulnérable si elle n'utilise pas Brotli ?
La faille Brotli demande que l'application décompresse des données externes. Mais les failles TLS et DNS touchent toute application qui appelle des services extérieurs. Mettez à jour dans tous les cas.
Faut-il mettre à jour les dépendances npm ?
Pas pour ces failles : elles sont dans Node.js lui-même. Il faut changer de version de Node.js et redémarrer.
Node.js 18 ou 20 reçoit-il un correctif ?
Non. Les versions en fin de vie restent vulnérables à chaque publication de sécurité. Migrez vers Node.js 22 ou 24.
Sources : publication de sécurité Node.js du 21 octobre 2026, avis de CloudLinux.