Node.js : dix failles corrigées dans les versions 22.23.4, 24.22.1 et 26.12.1 (contrôle de certificat, DNS, décodeur Brotli)
Node.js a corrigé le 21 octobre dix failles (quatre de gravité haute) : DNS tronqué par un octet NUL, contournements de la vérification de certificat TLS pour les adresses IP, et dépassement du décodeur Brotli (CVE-2026-111497). Mettez à jour vos applications Node.js ; les paquets Debian 12 et 13 ne sont pas encore corrigés.
par Frédéric Vagner · publié le
- Sévérité
- Haute
- CVE
- CVE-2026-105482 CVE-2026-105483 CVE-2026-106069 CVE-2026-111497 CVE-2026-105481 CVE-2026-106072 CVE-2026-106074 CVE-2026-106070 CVE-2026-106071 CVE-2026-106073
- Produits
- DebianPleskAutres Linux
- Versions touchées
- Node.js 22.x, 24.x et 26.x avant 22.23.4 / 24.22.1 / 26.12.1 (les versions en fin de vie sont toujours touchées)
- Versions corrigées
- Node.js 22.23.4, 24.22.1, 26.12.1 (21/10/2026) — Debian 12 (18.20.4) et Debian 13 (20.19.2) : encore vulnérables (25/10)
- Correctif
- Correctif disponible
- Source
- nodejs.org ↗
Le projet Node.js a publié le mercredi 21 octobre 2026 des versions de sécurité pour les branches 26.x, 24.x et 22.x. Dix failles sont corrigées : quatre de gravité haute, trois moyennes et trois basses. Les dépendances c-ares, Undici, OpenSSL (24.x et 22.x), SQLite (22.x) et le magasin de certificats (retrait lié à la compromission d'une autorité intermédiaire eMudhra) sont aussi mises à jour. Le CERT-FR a relayé cette série (CERTFR-2026-AVI-1367). Les versions fin de vie sont toujours affectées, sans correctif.
Qui est concerné ?
Les serveurs qui exécutent des applications Node.js : applications hébergées via l'extension Node.js de Plesk, outils de build, API maison. Le risque dépend du code : les failles de décodeur Brotli, de DNS et de TLS ne s'exploitent que si l'application décompresse du Brotli reçu, valide des noms d'hôtes ou se connecte à des adresses IP.
Les failles de gravité haute
| CVE | Nature | Branches |
|---|---|---|
| CVE-2026-111497 | Décodeur Brotli : écriture hors limites, crash, fuite mémoire ou exécution de code à distance via node:zlib (voir l'article Brotli) | 26, 24, 22 |
| CVE-2026-105482 | dns.resolve*() et dns.reverse() tronquent les noms contenant un octet NUL : une application peut valider un nom puis obtenir les enregistrements d'un autre (correction incomplète de CVE-2026-48930) | 26, 24, 22 |
| CVE-2026-105483 | Contournement de la vérification de nom d'hôte TLS quand l'IP est écrite en chiffres pleine chasse (régression après CVE-2026-48618) | 26, 24 |
| CVE-2026-106069 | Contournement de la vérification TLS quand l'hôte est une IPv4 avec zéro initial (ex. 0127.0.0.1), lecture octale / décimale différente selon la plateforme | 26, 24, 22 |
Moyennes : CVE-2026-105481 (réponse acceptée avant l'envoi de la requête avec les sockets keep-alive), CVE-2026-106072 (SAN DNS authentifiant un point de terminaison IP écrit de façon non canonique), CVE-2026-106074 (caches d'entropie de crypto.randomUUID() figés dans les instantanés de démarrage). Basses : CVE-2026-106070 (ZipFile), -106071 et -106073 (modèle de permissions).
Disponibilité
| Source | État au 27/10/2026 |
|---|---|
| nodejs.org | Publié : 22.23.4, 24.22.1, 26.12.1 |
| Debian 12 (nodejs 18.20.4+dfsg-1~deb12u3) et Debian 13 (20.19.2+dfsg-1+deb13u3) | Vulnérables pour CVE-2026-105482 (tracker, pas de correctif). Pour CVE-2026-111497, Debian utilise la bibliothèque Brotli du système, déjà corrigée |
| Plesk | Node.js 24.22.1 et 22.23.4 pour Plesk Windows le 21/10 ; Linux : à confirmer |
Corriger
# Version de Node.js utilisée
node -v
# Debian : état du paquet (en attente de correctif Debian 12 / 13)
apt-cache policy nodejs
# Installation depuis nodejs.org / dépôt NodeSource : passer à 22.23.4, 24.22.1 ou 26.12.1
# Plesk : Outils et paramètres > Mises à jour > extension Node.js (versions disponibles)
Contournement
Pour les paquets Debian non corrigés : ne pas décompresser de Brotli non fiable avec node:zlib (corrigé via libbrotli1), ne pas valider un nom d'hôte avec un simple contrôle de chaîne avant dns.resolve*() (rejeter tout nom contenant \0), et utiliser des noms DNS plutôt que des adresses IP littérales pour les connexions TLS.
Vérifier
node -p "process.versions.node + ' ' + process.versions.brotli"
ps -eo pid,user,cmd | grep -E '[n]ode ' # applications à redémarrer après mise à jour
Sources : annonce Node.js du 21/10, tracker Debian, CERT-FR AVI-1367.