PT-2020-16962 · Npm · Keyget

Publicado

2020-12-02

·

Atualizado

2022-05-24

·

CVE-2020-28272

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
keyget, versões 1.0.0 a 2.2.0
Descrição
A vulnerabilidade permite que um invasor provoque uma negação de serviço e pode levar à execução remota de código devido a uma vulnerabilidade de contaminação de protótipos. A função setByPath() no módulo npm ‘keyget’ não verifica o tipo de objeto antes de atribuir um valor a uma propriedade, permitindo que um invasor crie propriedades inexistentes ou manipule as existentes. Essa falha pode ser explorada passando valores maliciosos para os argumentos path e value na função setByPath(), incluindo a propriedade proto, o que pode contaminar o protótipo do objeto.
Recomendações
Para as versões 1.0.0 a 2.2.0 do keyget, como solução temporária, considere desativar a função setByPath() até que um patch esteja disponível. Restrinja o acesso à função setByPath() para minimizar o risco de exploração. Evite usar os parâmetros path e value na função setByPath() afetada até que o problema seja resolvido. No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.

Exploit

Prototype Pollution

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-28272
GHSA-8MP8-28XH-R486

Produtos afetados

Keyget