
Это proof-of-concept (PoC), демонстрирующий CVE-2020-8158 — критическую уязвимость prototype pollution в TypeORM версиях < 0.2.25.
Это proof-of-concept, демонстрирующий CVE-2020-8158, критическую уязвимость загрязнения прототипа в TypeORM версиях < 0.2.25.
Злоумышленники могут:
Уязвимость существует в обработке десериализации объектов в TypeORM при обработке результатов запросов к базе данных. Библиотека некорректно объединяет данные, контролируемые пользователем, с объектами без санитизации ключей, загрязняющих прототип, таких как __proto__, и .
constructorprototypeПроблема находится в процессе гидратации/десериализации сущностей, где TypeORM рекурсивно присваивает свойства из необработанных результатов запросов объектам сущностей без надлежащей валидации.
vulnerable-app.ts — уязвимое приложение TypeORM (версия < 0.2.25)exploit.ts — эксплойт proof-of-conceptpatched-app.ts — исправленная версия (версия >= 0.2.25)package.json — зависимостиСм. SETUP.md для подробных инструкций по настройке и эксплуатации.