Vulnérabilités dans Node.js

Date de publication :

De multiples vulnérabilités ont été découverte dans Node.js. Un attaquant distant non-authentifié peut ajouter des attributs arbitraires à des objets Javascript natifs, injecter du contenu arbitraire dans des en-têtes HTTP légitimes, ainsi que provoquer un déni de service voire exécuter du code arbitraire.

CVE-2020-8116 [Score CVSS v3 : 7.3] : Une vulnérabilité de type “pollution de prototype” a été découverte dans le paquet Node.js “dot-prop”. Un attaquant distant non-authentifié peut ajouter des propriétés arbitraires à des objets Javascript natifs.

CVE-2020-8201 [Score CVSS v3 : 7.4] : Une vulnérabilité de type “HTTP desync” a été découverte dans Node.js. Un attaquant distant non-authentifié peut injecter du contenu arbitraire dans des en-têtes HTTP émises par des utilisateurs légitimes.

CVE-2020-8252 [Score CVSS v3 : 7.8] : Une vulnérabilité de type dépassement de tampon a été découverte dans le composant libuv utilisé par Node.js. Un attaquant distant non-authentifié peut provoquer un plantage du programme (déni de service), ainsi que potentiellement exécuter du code arbitraire.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Pollution de prototypes d’objets Javascript natifs
  • Injection de contenu arbitraire dans les en-têtes HTTP utilisateur
  • Déni de service
  • Exécution de code arbitraire

Criticité

  • Score CVSS v3 : 7.8 maximum

Existence d’un code d’exploitation

  • Aucun code d’exploitation n’est disponible publiquement à ce jour

Composants vulnérables

  • dot-prop 4.2.1 et dot-prop 5 avant la version  5.1.1 (non-incluses)
  • Node.js 10 avant la version 10.22.1, Node.js 12 avant la version 12.18.4 ou Node.js 14 avant la version 14.9.0 (non-incluses)

CVE

  • CVE-2020-8116
  • CVE-2020-8201
  • CVE-2020-8252

Solutions ou recommandations

Mise en place de correctifs de sécurité

  • Mettre à jour Node.js et dot-prop vers une version non-vulnérable (voir la section “Composants vulnérables”)

Solution de contournement

  • Aucune solution de contournement n’est disponible