Prototype Pollution
En JavaScript, modificas Object.prototype y la propiedad aparece en TODOS los objetos del proceso.
Categoría: Web · Vectores avanzados 🎯 Trinchera — En JavaScript, modificasObject.prototype y la
propiedad aparece en TODOS los objetos del proceso. Si una librería
posterior lee una propiedad sin verificar pertenencia (obj.isAdmin
en vez de Object.hasOwn(obj, 'isAdmin')), recibe tu valor.
🔗 Kill chain — Pollution → gadget en otra dependencia.
Gadgets famosos 2025: Axios pre-1.15.0 — Object.prototype.parseReviver
contamina cada JSON.parse de cada response, permitiendo robar API
keys (Hacker Wire).
DOMPurify 3.0.1-3.3.3 — fallback en config parser hereda de
Object.prototype, convertido en bypass XSS por
trace37 labs / CVE-2026-41238.
📡 Huella defensiva — Difícil de detectar en runtime. Análisis
estático con GHunter (USENIX 2024)
encuentra gadgets universales en runtimes JS.
⚠️ Falso amigo — Limpiar sólo __proto__ no basta — constructor.prototype
también funciona en muchas libs viejas.
🛡️ Remediación — Object.create(null), Object.freeze(Object.prototype),
deep-clone con structured-clone, validación con JSON Schema/Zod.
← Volver al glosario completo Última actualización: 2026-06-11