Node.js - CVE-2026-111497
Date de publication :
Il s’agit d’une vulnérabilité dans le décodeur Brotli intégré à Node.js.
Node.js est un environnement d’exécution JavaScript open source, construit sur le moteur V8. Il repose sur un modèle événementiel et asynchrone. Il sert à développer des serveurs web, des API et des outils en ligne de commande.
Une entrée Brotli malformée provoque une écriture hors limites (out-of-bounds write) pendant le décodage. Ce décodeur est appelé par le module node:zlib ou automatiquement par fetch() sur une réponse compressée en Brotli. Une application est exposée lorsqu’elle, ou une bibliothèque qu’elle utilise, décompresse des données Brotli contrôlées par l’attaquant. Ces données peuvent se trouver dans un corps de requête ou dans une réponse récupérée auprès d’un serveur tiers.
Elle permet à un attaquant distant d’obtenir une exécution de code arbitraire à distance avec les droits du processus Node.js, ainsi qu’une divulgation de la mémoire du processus.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Non
Exécution de code arbitraire (à distance)
Exploitation
CWE-787 : Out-of-bounds Write
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Élevée
• 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 : En attente d’information
Preuve de concept
Une preuve de concept est disponible en sources ouvertes.
Systèmes ou composants affectés
Node.js versions 26.x antérieures à 26.12.1
- Node.js versions 24.x antérieures à 24.22.1
- Node.js versions 22.x antérieures à 22.23.4
- Node.js versions 20.x et antérieures, en fin de vie
Solutions ou recommandations
• Node.js versions 24.22.1 et supérieures pour la branche 24.x
• Node.js versions 22.23.4 et supérieures pour la branche 22.x
• Node.js versions 22.23.4 et supérieures, ou 24.22.1 et supérieures, pour les versions 20.x et antérieures, qui ne reçoivent pas de correctif et nécessitent une migration