Node.js Mars 2026 : Six Correctifs de Sécurité Sur Toutes les Branches Actives

Node.js Mars 2026 : Six Correctifs de Sécurité Sur Toutes les Branches Actives

lschvn5 min de lecture

Node.js a publié un ensemble coordonné de correctifs de sécurité le 24 mars 2026, couvrant six CVE sur chaque ligne de release active. Si vous utilisez Node en production, c'est la mise à jour que vous attendiez.

Les Deux Correctifs à Haute Sévérité

CVE-2026-21637, Crash TLS SNICallback (High)

TLS SNICallback permet à un serveur de sélectionner le bon certificat selon le hostname du client. La vulnérabilité : si votre implémentation SNICallback levait une exception, Node.js ne la capturait pas, faisant planter le processus entier durant le handshake TLS. Matteo Collina a corrigé cela en wrappant l'invocation SNICallback dans un try/catch.

CVE-2026-21710, Pollution Prototype HTTP (High)

Les objets headersDistinct et trailersDistinct dans les réponses HTTP Node.js utilisaient des prototypes JavaScript standards. Cela ouvre une vecteur d'attaque par pollution prototype : si un attaquant pouvait influencer les clés définies sur ces objets, il pouvait injecter des propriétés comme __proto__ ou constructor. La correction : utiliser un prototype null (Object.create(null)).

Quatre Correctifs de Sévérité Moyenne et Basse

CVE-2026-21713, Comparaison HMAC Timing-Safe (Medium) Filip Skokan a corrigé l'implémentation HMAC Web Cryptography pour utiliser une comparaison timing-safe, empêchant les attaques par canal auxiliaire.

CVE-2026-21714, Contrôle de Flux NGHTTP2 (Medium) RafaelGSS a corrigé un problème où les erreurs NGHTTP2_ERR_FLOW_CONTROL non gérées pouvaient causer des blocages dans les connexions HTTP/2.

CVE-2026-21717, Test de Collision Hash (Medium) Joyee Cheung a mis à jour la suite de tests V8 pour détecter correctement les attaques par collision hash sur les indices de tableau.

CVE-2026-21715 et CVE-2026-21716, Failles du Système de Permissions (Low) Deux vérifications de permissions manquaient dans realpath.native et les APIs fs/promises, permettant un accès filesystem hors des chemins permis.

Autres Changements

  • undici mis à jour vers v6.24.1
  • npm amélioré vers 10.9.7 sur les branches v22 et v25
  • V8 mis à jour sur toutes les branches avec les correctifs de sécurité upstream

Ce Qu'il Faut Faire

Si vous utilisez l'une des versions affectées, mettez à jour immédiatement. Pour les utilisateurs LTS, v22.22.2 est la ligne LTS recommandée actuelle.


Couverture quotidienne de l'écosystème TypeScript et JavaScript sur ts.news.

Questions fréquentes

Articles connexes

Plus de couverture avec des sujets et tags en commun.

Node.js 26.3.0 : Buffer Pool double, permission.drop() arrive, les Macs Intel en péril
security

Node.js 26.3.0 : Buffer Pool double, permission.drop() arrive, les Macs Intel en péril

Node.js 26.3.0 apporte un Buffer.poolSize par défaut de 64 KiB, une méthode permission.drop() pour abandonner les capacités une par une, un avertissement sur les binaires universels macOS, et un WebCrypto renforcé. npm passe à 11.16.0.
État de TypeScript 2026 : langage #1 sur GitHub, Project Corsa et la facture de la supply chain
security

État de TypeScript 2026 : langage #1 sur GitHub, Project Corsa et la facture de la supply chain

Un regard rétrospectif sur les événements majeurs qui ont redéfini la position de TypeScript dans l'écosystème JavaScript, du dépassement de JavaScript sur GitHub à la réécriture du compilateur en Go pour des builds 10x plus rapides.
Fastify v5.9.0 ajoute `request.mediaType` et `onMaxParamLength`, durcit la confiance dans les en-têtes `forwarded`, découpe les grandes réponses HTTP/2 et migre les tests de types vers TSTyche
security

Fastify v5.9.0 ajoute `request.mediaType` et `onMaxParamLength`, durcit la confiance dans les en-têtes `forwarded`, découpe les grandes réponses HTTP/2 et migre les tests de types vers TSTyche

Fastify v5.9.0, publié le 2026-06-28 (github.com/fastify/fastify), est la première version mineure de la ligne v5 en 2026 et un cycle substantiel de 65 PR. Les fonctionnalités principales sont `request.mediaType` (un accesseur typé pour le type de média négocié, [#6653](https://github.com/fastify/fastify/pull/6653) par climba03003), l'option de route `onMaxParamLength` ([#6716](https://github.com/fastify/fastify/pull/6716) par climba03003), et un correctif de sécurité qui ne fait plus confiance à `X-Forwarded-Host` et `X-Forwarded-Proto` quand le socket entrant est absent ([#6684](https://github.com/fastify/fastify/pull/6684) par mcollina). Le cycle livre un correctif de découpage en morceaux du buffer HTTP/2 pour les grandes réponses ([#6746](https://github.com/fastify/fastify/pull/6746) par mcollina), trois gains de performance liés au schéma (parsing différé du ContentType dans `getSchemaSerializer` #6692, mise en cache des objets `ContentType` analysés dans `ContentTypeParser` #6694, garde `typeof` avant `toString.call` dans `send` / `onSendEnd` #6693 par aquie00t), Node.js 26 ajouté à la matrice de tests ([#6728](https://github.com/fastify/fastify/pull/6728) par Fdawgs) et Node.js 20 retiré de la matrice yarn CI ([#6662](https://github.com/fastify/fastify/pull/6662) par Tony133), la migration de la suite de tests de types d'assertions `expect-type` artisanales vers [TSTyche](https://github.com/mrazauskas/tstyche) ([#6532](https://github.com/fastify/fastify/pull/6532) par mrazauskas, avec les suites #6726 et #6727), et un bump de fastify-plugin v6.0.0 purement TypeScript. Autres correctifs notables : déduplication de `res.end` du trailer (#6676), garde de complétion dupliquée du trailer (#6714), `error.code` sur les erreurs de routage (#6678), `hasRequestDecorator` / `hasReplyDecorator` détectant les propriétés natives assignées par constructeur (#6753), `getValidationFunction()` autorisé à retourner `undefined` (#6665), et un nettoyage du `_meta` du socket qui ferme une fuite keep-alive (#6799).

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.