
Esta es una prueba de concepto que demuestra CVE-2020-8158, una vulnerabilidad crítica de contaminación de prototipos en TypeORM versiones < 0.2.25.
Esta es una prueba de concepto que demuestra CVE-2020-8158, una vulnerabilidad crítica de contaminación de prototipos en TypeORM versiones < 0.2.25.
Los atacantes pueden:
La vulnerabilidad existe en el manejo de deserialización de objetos en TypeORM al procesar resultados de consultas de base de datos. La biblioteca fusiona incorrectamente datos controlados por el usuario en objetos sin sanitizar claves que contaminan el prototipo como , y .
__proto__constructorprototypeEl problema está en el proceso de hidratación/deserialización de entidades donde TypeORM asigna recursivamente propiedades de resultados de consultas sin procesar a objetos de entidad sin una validación adecuada.
vulnerable-app.ts - Aplicación vulnerable de TypeORM (versión < 0.2.25)exploit.ts - Exploit de prueba de conceptopatched-app.ts - Versión corregida (versión >= 0.2.25)package.json - DependenciasConsulte SETUP.md para obtener instrucciones detalladas de configuración y explotación.