Node.js - CVE-2026-21710
Date de publication :
Il s'agit d'une vulnérabilité dans le traitement des en-têtes HTTP de Node.js.
Node.js est un environnement d'exécution JavaScript côté serveur, basé sur le moteur V8 de Chrome. Il est utilisé pour construire des serveurs HTTP, des API REST, des microservices et des applications temps réel. Sa présence est quasi universelle dans les architectures applicatives modernes.
Lorsqu'une requête contient un en-tête nommé __proto__, l'accès à req.headersDistinct provoque une résolution de dest["__proto__"] vers Object.prototype au lieu de undefined. La méthode .push() est alors appelée sur un objet non-tableau. L'exception TypeError résultante est synchrone, déclenchée depuis un getter, et ne peut pas être interceptée par les listeners error standard.
Elle permet à un attaquant distant non authentifié de crasher immédiatement le processus Node.js par l'envoi d'une unique requête HTTP forgée.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Oui
Déni de service (à distance)
Exploitation
CWE-1321 : Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution)
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Aucun
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
• L'exploitation de la faille permet d'obtenir des droits privilégiés : Non
Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Systèmes ou composants affectés
• Node.js versions 20.x jusqu'à 20.20.1 incluse
• Node.js versions 22.x jusqu'à 22.22.1 incluse
• Node.js versions 24.x jusqu'à 24.14.0 incluse
• Node.js versions 25.x jusqu'à 25.8.1 incluse
Contournement provisoire
Solutions ou recommandations
• Node.js version 22.22.2 et supérieures
• Node.js version 24.14.1 et supérieures
• Node.js version 25.8.2 et supérieures