En bref
- Le fait. Le 21 octobre 2026, le projet Node.js a publié les versions 22.23.4, 24.22.1 et 26.12.1. Elles corrigent dix failles, dont quatre de sévérité haute : l'une touche la décompression Brotli et peut permettre une exécution de code à distance, trois autres affaiblissent la vérification des certificats TLS ou la résolution DNS. Le CERT-FR a publié un avis de sécurité (CERTFR-2026-AVI-1367) le 22 octobre 2026. Source : bulletin du projet Node.js.
- Êtes-vous concerné ? Si votre site, votre application ou un outil interne est développé en JavaScript côté serveur, par exemple avec Next.js, Nuxt, Express ou NestJS. Votre prestataire ou votre équipe technique sait vous dire si vous utilisez Node.js et quelle version.
- Quoi faire :
- demandez la mise à jour de Node.js vers la dernière version de votre branche (22.23.4, 24.22.1 ou 26.12.1), puis un redéploiement ;
- si une application tourne encore sur une version de Node.js en fin de vie, faites planifier sa migration : le projet Node.js rappelle que ces versions sont toujours affectées.
- Urgence : haute, selon le projet Node.js (sévérité la plus élevée corrigée sur chaque branche).
Détail technique
Versions affectées et à installer (bulletin Node.js et avis CERT-FR) :
| Branche | Affectées | Version à installer |
|---|---|---|
| 26.x | antérieures à 26.12.1 | 26.12.1 ou ultérieure |
| 24.x | antérieures à 24.22.1 | 24.22.1 ou ultérieure |
| 22.x | antérieures à 22.23.4 | 22.23.4 ou ultérieure |
Failles de sévérité haute (classement du projet Node.js) :
- CVE-2026-111497 : écriture hors limites dans le décodeur Brotli, pouvant permettre une exécution de code à distance (branches 22, 24 et 26). La fiche NVD rattache la faille à la bibliothèque Brotli de Google ;
- CVE-2026-105482 : troncature, par
dns.resolve, des noms contenant un caractère nul (22, 24 et 26) ; - CVE-2026-105483 : contournement de la vérification du nom d'hôte d'un certificat TLS quand l'adresse IP est écrite en chiffres pleine chasse (24 et 26) ;
- CVE-2026-106069 : contournement de la vérification du nom d'hôte d'un certificat TLS quand l'hôte se résout de façon approximative en adresse IP (22, 24 et 26).
Autres failles corrigées. Sévérité moyenne : CVE-2026-105481 (connexions keep-alive), CVE-2026-106072 (validation de certificat pour des adresses IPv4 non canoniques), CVE-2026-106074 (valeurs aléatoires de crypto.randomUUID() et randomInt() répétées dans les instantanés de démarrage et les exécutables autonomes SEA). Sévérité basse : CVE-2026-106070 (ZipFile, branche 26), CVE-2026-106071 et CVE-2026-106073 (modèle de permissions).
Dépendances mises à jour dans la même publication. c-ares, certificats racines (compromission d'une autorité intermédiaire eMudhra), OpenSSL (branches 22 et 24), SQLite (branche 22) et Undici.
KEV. Non : aucune de ces CVE ne figure au catalogue KEV de la CISA (version du 21 octobre 2026). Aucune exploitation active n'est signalée par le projet Node.js ni par le CERT-FR.
Contournement. Aucun contournement n'est proposé par le projet Node.js : la mise à jour est la mesure à appliquer.
Vérifier sa version. node -v sur le serveur ou dans le conteneur réellement en production. Pour les images Docker, vérifier l'image de base (par exemple node:22, node:24) et reconstruire l'image après publication de la version corrigée ; pour les plateformes d'hébergement, vérifier la version de Node.js configurée pour le projet. Après mise à jour : relancer les tests, redéployer, puis contrôler à nouveau node -v en production.