Lexique informatique › Sécurité › Pollution de prototype

Pollution de prototype Prototype pollution

Sécurité Svenska → Mis à jour: 2026-09-21

Faille JavaScript : l'attaquant modifie Object.prototype, ce qui affecte tous les objets de l'application.

Elle repose sur le modèle d'héritage de JavaScript : chaque objet hérite d'Object.prototype. Si l'on exécute obj["__proto__"]["isAdmin"] = true, tous les autres objets reçoivent eux aussi isAdmin = true. Cas d'école : la fusion et le clonage profonds de lodash (CVE-2018-16487, divulguée en 2019), $.extend de jQuery, de nombreux paquets d'analyse de corps de requête pour Express. Cela dégénère souvent en exécution de code à distance lorsque la charge cible le bon attribut de prototype (shell, argv, etc.). Défenses : Object.freeze(Object.prototype), l'option --disable-proto=throw de Node, et ne jamais fusionner en profondeur une entrée non fiable.

← Retour au lexique