Lodash

Lodash: Une faille dans la librairie

Lodash, la librairie npm utilisée par plus de 4 millions de projets sur GitHub, est affecté par une vulnérabilité qui permet aux pirates de compromettre la sécurité des services affectés.

Qu’est-ce que Lodash?

Lodash est une bibliothèque JavaScript réunissant des fonctions bien pratiques pour manipuler des données, là où peuvent manquer des instructions natives :

  • pour des tableaux, objets, chaînes de texte (notamment des itérations, du clonage)
  • pour tester et manipuler des valeurs
  • pour créer des fonctions composites

Liran Tal, un développeur de la plate forme de sécurité Snyk, a récemment publié des détails et un exploit proof-of-concept d’une vulnérabilité de pollution de prototype qui affecte toutes les versions de lodash, y compris la dernière version 4.17.11.

La vulnérabilité, CVE-2019-10744, affecte un large nombre de projets frontend à cause de la popularité de lodash qui est téléchargé plus de 80 millions de fois tout les mois.

La pollution de prototype est une vulnérabilité qui permet aux pirates de modifier le prototype objet Javascript d’une application Web, ce dernier est un peu comme une variable qui peut être utilisé pour stocker plusieurs valeurs basées sur une structure prédéfinie.

lodash

Ces structures et valeurs par défaut sont des prototypes qui empêchent une application de hacher quand aucune valeur n’a été déterminé.

Cependant, si un pirate réussi à injecter des propriétés dans des prototypes Javascript existant et à manipuler ces attributs pour écrire par dessus ou polluer, cela pourrait affecter comment l’application traite les objets Javascript à travers la chaîne de prototype, ce qui entraîne une possibilité de déni de service ou une vulnérabilité d’exécution de code à distance.

Selon Tal, la fonction “defaultsDeep” dans la librairie Lodash pourrait être abusé pour ajouter ou modifier les propriétés d’un Object.prototype en utilisant un payload constructeur, ce qui pourrait causer un crash de l’application web ou un changement de comportement.

Il faut préciser que l’exploitation des failles de pollution de prototype n’est pas facile et requiert une connaissance poussée des applications web ciblées.

Le chercheur a signalé cette vulnérabilité à John Dalton, chargé de la maintenance de Lodash, et a proposé des correctifs (requêtes pull 1 et 2) qui seront inclus dans la prochaine version de la librairie.

Si votre projet utilise la version 4.17.11 de Lodash, il est recommandé de mettre à jour votre librairie des que le patch officiel sera disponible ou d’appliquer manuellement les correctifs.

Si cet article vous a plu, jetez un œil à notre précédent article.

Poster un Commentaire

avatar
  S’abonner  
Notifier de