Обновление !!
Я только что опубликовал пакет npm, чтобы исправить проблему загрязнения прототипа для людей, которые не могут выполнить обновление до исправленной версии уязвимого пакета.Вы можете установить следующий пакет :
yarn add no-pollution
и просто require
в точке входа вашего проекта javascript.
require('no-pollution');
Проверено на расширение,слияние, клон типа уязвимых методов, которые вызывают загрязнение прототипа.Однако в настоящее время не работает с уязвимыми методами назначения пути, но этого должно быть достаточно для вашего пакета Firebase.
Старый ответ
Это правда, что уязвимость, связанная с загрязнением прототипаимеет более серьезный риск на стороне сервера, чем на стороне клиента.Поскольку его можно легко использовать для атаки типа «отказ в обслуживании» (DoS) или атаки на удаленное выполнение кода (RCE).
Обычно вся бизнес-логика выполняется на бэкэнде, и только доступная информация отображается навнешний интерфейс.Но это не меняет того факта, что кто-то может загрязнить прототип вашего объекта и выполнить выполнение кода без отступов в вашем приложении.
Это приводит к серьезной уязвимости в вашем приложении, которая также позволяет злоумышленнику выполнять как DoS, так и RCE, но это ограничено уровнем сложности и уровнем ресурсов, к которым клиент может получить доступ.Но это не меняет того факта, что ваше приложение имеет уязвимость, которую можно использовать для нанесения серьезного ущерба.Подробнее об этом читайте на Snyk
Переписывание всей базы кода для firebase 4 может быть трудным и длительным процессом, но это то, что вам придется сделать в конце концов, если только не решите, что такое angular fireпредложить поддержку Firebase 4 ...