Plateforme
nodejs
Composant
lodash
Corrigé dans
4.18.0
4.18.0
4.18.0
4.18.0
4.18.0
La vulnérabilité CVE-2026-2950 concerne une pollution de prototype dans les fonctions .unset et .omit de la bibliothèque lodash, versions 4.17.23 et antérieures. Cette faille permet à un attaquant de supprimer des propriétés des prototypes intégrés, tels que Object.prototype, Number.prototype et String.prototype, contournant les protections mises en place pour CVE-2025-13465. Bien que cela permette la suppression de propriétés, cela n'autorise pas la modification de leur comportement original. Une version corrigée, 4.18.0, est disponible.
La CVE-2026-2950 affecte les versions de Lodash antérieures à 4.17.23, introduisant une vulnérabilité de pollution de prototype dans les fonctions .unset et .omit. Bien que la correction mise en œuvre pour la CVE-2025-13465 visait à atténuer ce problème, elle ne protégeait que contre les clés de type chaîne. Les attaquants peuvent contourner cette protection en passant des segments de chemin enveloppés dans des tableaux. Cela permet de supprimer des propriétés des prototypes intégrés tels que Object.prototype, Number.prototype et String.prototype, compromettant la stabilité et la sécurité des applications qui utilisent Lodash. La gravité de la vulnérabilité est notée 6,5 selon le CVSS. La manipulation de prototypes peut entraîner un comportement inattendu, des erreurs d'exécution et, potentiellement, l'exécution de code malveillant.
La vulnérabilité est exploitée en fournissant à .unset ou .omit un chemin constitué d'un tableau de clés. Ce chemin, lorsqu'il est traité incorrectement, permet de modifier ou de supprimer des propriétés sur les prototypes d'objets, de nombres ou de chaînes. Un attaquant pourrait, par exemple, supprimer la propriété toString de Object.prototype, ce qui entraînerait des erreurs de conversion d'objets en chaînes dans toute l'application. L'exploitation est relativement simple et ne nécessite pas de privilèges spéciaux, ce qui augmente le risque d'attaques généralisées. Le contexte d'exploitation dépend de l'application utilisant Lodash et de la capacité de l'attaquant à contrôler les entrées vers les fonctions vulnérables.
Applications built with Node.js that utilize Lodash, particularly those that accept user-supplied data and pass it directly to .unset or .omit functions, are at significant risk. Projects relying on older versions of Lodash within complex JavaScript ecosystems are also vulnerable, as are developers who have not kept their dependencies up-to-date.
• nodejs:
npm list lodashThis command will list installed Lodash versions. Check if the version is below 4.18.0. • nodejs:
find node_modules -name "lodash.js" -print0 | xargs -0 grep -i "_.unset" -lThis searches for files containing .unset within the nodemodules directory, indicating potential usage of the vulnerable function.
• generic web:
Inspect application logs for unusual errors or exceptions related to prototype properties. Look for patterns suggesting property deletion or modification.
• generic web:
Review application code for instances of .unset and .omit where user-supplied input is used to construct the path segments.
disclosure
Statut de l'Exploit
EPSS
0.06% (percentile 17%)
CISA SSVC
Vecteur CVSS
La solution recommandée est de mettre à niveau vers Lodash version 4.18.0 ou supérieure. Cette version inclut une correction qui résout la vulnérabilité de pollution de prototype en validant correctement tous les types de clés, y compris celles enveloppées dans des tableaux. Si la mise à niveau vers la dernière version n'est pas immédiatement possible, il est recommandé d'examiner attentivement le code utilisant .unset et .omit, à la recherche de schémas susceptibles d'être exploités. L'implémentation de validations supplémentaires sur les entrées de ces fonctions peut aider à atténuer le risque, bien qu'il ne s'agisse pas d'une solution complète. Il est également essentiel de surveiller les applications à la recherche de comportements anormaux.
Actualice la biblioteca lodash a la versión 4.18.0 o superior. Esta versión contiene la corrección para la vulnerabilidad de prototype pollution. Ejecute `npm install lodash@latest` o `yarn add lodash@latest` para actualizar.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
C'est une vulnérabilité qui permet de modifier les propriétés des prototypes d'objets, affectant toutes les instances de ce type d'objet.
Elle peut entraîner un comportement inattendu, des erreurs d'exécution et même permettre l'exécution de code malveillant.
Effectuez un examen approfondi du code et envisagez de mettre en œuvre des validations supplémentaires sur les entrées de .unset et .omit.
Il existe des outils d'analyse statique de code qui peuvent aider à identifier l'utilisation de fonctions vulnérables et de schémas de code suspects.
Maintenez vos dépendances à jour, effectuez des revues de sécurité périodiques et suivez les meilleures pratiques de codage sécurisé.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.