Convict
Уязвимости
3
Эксплуатируемые
0
Макс. CVSS
9.8
Макс. EPSS
0.03722
Распределение по критичности
Критический
1
Высокий
2
Средний
0
Низкий
0
Затронутые диапазоны версий
< 6.2.2< 6.2.3< 6.2.4
Также сопоставлено как (исходные строки): convict
Топ уязвимостей
CVE-2022-22143Пакет convict до версии 6.2.2 уязвим для загрязнения прототипа через функцию convict из-за отсутствия проверки parentKey. **Примечание:** Эта уязвимость происходит из-за неполного исправления другой [уязвимости](https://security.snyk.io/vuln/SNYK-JS-CONVICT-1062508)
CVE-2023-0163Неправильно контролируемая модификация атрибутов прототипа объекта (уязвимость «Загрязнение прототипа») в Mozilla Convict.
Это позволяет злоумышленнику внедрять атрибуты, которые используются в других компонентах, или переопределять существующие атрибуты атрибутами несовместимого типа, что может привести к сбою.
Основным вариантом использования Convict является обработка серверных конфигураций, написанных администраторами, владеющими серверами, а не случайными пользователями. Поэтому маловероятно, что администратор намеренно саботирует собственный сервер. Тем не менее, может возникнуть ситуация, когда администратор, не знакомый с JavaScript, может быть обманут злоумышленником и записать вредоносный код JavaScript в некоторые файлы конфигурации.
Эта проблема затрагивает Convict: до версии 6.2.4.
CVE-2022-21190Это влияет на пакет convict до версии 6.2.3. Это обход [CVE-2022-22143](https://security.snyk.io/vuln/SNYK-JS-CONVICT-2340604). Введенное [исправление](https://github.com/mozilla/node-convict/commit/3b86be087d8f14681a9c889d45da7fe3ad9cd880) основывается на методе startsWith и не предотвращает уязвимость: перед разделением пути он проверяет, начинается ли он с __proto__ или this.constructor.prototype. Чтобы обойти эту проверку, можно добавить к опасным путям любое строковое значение, за которым следует точка, например, foo.__proto__ или foo.this.constructor.prototype.