Aller au contenu

Node.js 26.12.1, 24.22.1 et 22.23.4 corrigent 10 failles de sécurité

Node.js a corrigé dix vulnérabilités le 21 octobre 2026, dont quatre de gravité élevée, parmi lesquelles un bug du décodeur Brotli qui peut permettre l'exécution de code à distance.

Par Tech AI Wire Team

3 min de lecture

XLinkedIn
The Node.js blog post titled Wednesday, October 21, 2026 Security Releases, with a table of contents listing the CVEs it fixes.

En chiffres

vulnerabilities fixed across three release lines
10
rated high severity
4
bundled dependencies updated, eMudhra block included
5

Le projet Node.js a publié des mises à jour de sécurité pour ses trois branches prises en charge le 21 octobre 2026, corrigeant dix vulnérabilités. Quatre sont classées élevées. L'une d'elles touche le décodeur Brotli et peut, selon le projet, permettre l'exécution de code à distance. Quiconque utilise Node.js 26, 24 ou 22 doit passer à 26.12.1, 24.22.1 ou 22.23.4.

Les versions corrigées et leur périmètre

Node.js est l'environnement d'exécution JavaScript derrière l'essentiel du JavaScript côté serveur, des API web aux outils de build. Le billet de sécurité de Node.js classe les correctifs par gravité : quatre élevés, trois moyens et trois faibles. Chaque branche a une version corrigée.

BrancheVersion corrigéeStatut
26.x26.12.1Current
24.x24.22.1LTS
22.x22.23.4LTS

LTS signifie support à long terme : une branche qui reçoit des correctifs pendant des années. D'après le site japonais Jinrai, qui a vérifié la réaction des fournisseurs, 24.x est pris en charge jusqu'au 30 avril 2028 et 22.x jusqu'au 30 avril 2027. Node.js 26 doit passer en LTS le 28 octobre 2026.

Ces versions mettent aussi à jour cinq bibliothèques intégrées : c-ares (requêtes DNS), Undici (le client HTTP derrière fetch), OpenSSL, SQLite et la liste de certificats intégrée. Ce dernier changement bloque les certificats d'eMudhra, l'autorité de certification dont les clés ont été exposées cette semaine. Tech AI Wire a couvert cet incident dans Clés de CA d'eMudhra compromises : Go, Firefox et NSS publient des correctifs.

Les quatre failles de gravité élevée

CVELe problèmeBranches touchées
CVE-2026-111497Le décodeur Brotli écrit hors limites, ce qui permet l'exécution de code à distance26, 24, 22
CVE-2026-106069La vérification du nom d'hôte TLS réussit quand un hôte se résout vaguement en adresse IP26, 24, 22
CVE-2026-105483La vérification du nom d'hôte TLS réussit quand une IP est écrite en chiffres pleine largeur26, 24
CVE-2026-105482dns.resolve tronque les noms contenant un caractère NUL26, 24, 22

Brotli est un format de compression que les serveurs web et les navigateurs utilisent pour réduire les réponses. Une écriture hors limites signifie que le décodeur place des données au-delà de la mémoire qui lui était attribuée. Jinrai note que le billet officiel ne décrit pas encore les conditions nécessaires à un attaquant.

Les deux failles TLS se trouvent dans la vérification qui s'assure que le certificat d'un serveur correspond à l'adresse demandée. Si une adresse est écrite sous une forme inhabituelle, la vérification peut accepter le mauvais certificat. Jinrai cite le dossier du correctif, selon lequel l'exploitation n'est « pas facile ». Aucune attaque n'avait été signalée tôt le 22 octobre, heure du Japon.

Les failles moyennes et faibles à surveiller

Une faille moyenne touche les applications construites en exécutable unique (SEA) ou à partir d'instantanés de démarrage. Les deux intègrent une copie préparée du programme dans un seul fichier. Selon Node.js, les caches de nombres aléatoires de crypto.randomUUID() et randomInt() étaient enregistrés dans cette copie. Chaque processus répétait donc les mêmes valeurs.

Une autre faille moyenne permet à une connexion keep-alive d'accepter une réponse écrite avant l'envoi de la requête. Deux failles faibles concernent le Permission Model, le bac à sable optionnel qui limite les fichiers qu'un script peut toucher.

Ce que cela signifie pour les développeurs

La mise à jour est banale, mais l'origine de votre Node.js décide de la vitesse à laquelle elle arrive.

  • Vérifiez chaque environnement, pas seulement votre portable. Lancez node --version en production, en CI et dans les conteneurs. Jinrai a trouvé les images Docker officielles déjà étiquetées avec les versions corrigées, alors que Homebrew proposait encore 26.12.0 des heures plus tard.
  • Reconstruisez les applications en un seul fichier. Si vous livrez une SEA ou utilisez un instantané de démarrage, reconstruisez-la avec un Node.js corrigé. Un runtime réparé ne corrige pas les valeurs aléatoires déjà intégrées dans un ancien binaire.
  • Quittez Node.js 20 et 25. Selon Node.js, les branches en fin de vie sont toujours touchées, et Jinrai confirme qu'aucune des deux ne reçoit de correctif. La version 20 n'est plus prise en charge depuis le 30 avril 2026.
  • Traitez d'abord les services qui décompressent des données clients. Une API publique qui accepte des corps de requête compressés en Brotli est la cible la plus évidente de CVE-2026-111497.

Le blocage d'eMudhra arrive avec la mise à jour, souligne heise online. Node.js embarque désormais une liste de certificats intermédiaires bloqués. Il peut ainsi rejeter une chaîne même quand sa racine reste approuvée. Le dernier correctif de sécurité de Node.js, en septembre, était plus modeste : Node.js 22.23.3 LTS corrige un bug use-after-free dans HTTP/2.

Sources

  1. Wednesday, October 21, 2026 Security Releases - Node.js
  2. Node.js fixes its own and inherited security vulnerabilities - heise online
  3. Node.jsに脆弱性10件|修正版と各社の対応【2026年10月】 - Jinrai

Articles liés