Lodash - CVE-2026-4800
Date de publication :
Il s'agit d'une vulnérabilité dans la fonction _.template() de Lodash, résultant d'un correctif incomplet de CVE-2021-23337.
Lodash est une bibliothèque utilitaire JavaScript, disponible sur npm, qui fournit des fonctions d'aide pour la manipulation de tableaux, d'objets, de chaînes et de templates. Elle est intégrée dans un très grand nombre d'applications Node.js et de projets front-end, souvent comme dépendance directe ou transitive.
La validation ajoutée pour l'option variable n'a pas été étendue aux noms de clés de options.imports. Ces clés sont transmises sans contrôle au constructeur Function(). Un attaquant fournissant une entrée non filtrée comme nom de clé peut y injecter des expressions de paramètre par défaut qui s'exécutent au moment de la compilation du template. Un second vecteur existe via assignInWith, qui énumère les propriétés héritées par for..in : si Object.prototype a été préalablement pollué, les clés polluées sont copiées dans l'objet imports et passées à Function().
Elle permet l'exécution de code arbitraire sur le serveur.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Oui
Exécution de code arbitraire (à distance)
Exploitation
CWE-94 : Improper Control of Generation of Code ('Code Injection')
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 : Non
Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Systèmes ou composants affectés
lodash (npm) versions antérieures à 4.18.0