Prototype pollution — изменение прототипа через недоверенные данные, из-за которого посторонние свойства начинают наследоваться другими объектами.
Что такое уязвимость prototype pollution?
Prototype pollution — изменение прототипа через недоверенные данные, из-за которого посторонние свойства начинают наследоваться другими объектами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Prototype pollution — изменение прототипа через недоверенные данные, из-за которого посторонние свойства начинают наследоваться другими объектами.
Опасны небезопасные глубокие слияния и запись по пользовательскому пути, включая proto и constructor.prototype. Валидируйте структуру и разрешённые ключи, используйте безопасные библиотеки и проверяйте собственные свойства. Для словарей подходят Map или объекты без прототипа; одна фильтрация proto не закрывает все варианты.