PT-2021-22396 · Npm+3 · @Npmcli/Arborist+4
Publicado
2021-08-31
·
Atualizado
2022-11-14
·
CVE-2021-39134
CVSS v3.1
8.2
Alta
| Vetor | AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
Nome do software vulnerável e versões afetadas
Versões do @npmcli/arborist anteriores à 2.8.2
Versões do npm anteriores à 7.20.7
Descrição
O problema decorre da forma como o @npmcli/arborist lida com dependências de pacotes em sistemas de arquivos que não diferenciam maiúsculas de minúsculas, como o macOS e o Windows. Quando várias dependências diferem apenas na grafia de seus nomes, a estrutura de dados interna do Arborist as trata como itens separados. No entanto, em sistemas de arquivos que não diferenciam maiúsculas de minúsculas, isso pode levar a uma situação em que um invasor possa criar conteúdos arbitrários para serem gravados em qualquer local do sistema de arquivos. Por exemplo, um pacote poderia definir uma dependência como “foo”: “file:/some/path” e outro pacote poderia definir uma dependência como FOO: “file:foo.tgz”. Em sistemas de arquivos que não diferenciam maiúsculas de minúsculas, se o primeiro pacote for instalado e, em seguida, o segundo pacote for instalado, o conteúdo de foo.tgz seria gravado em /some/path, e qualquer conteúdo existente em /some/path seria removido.
Recomendações
Para versões do @npmcli/arborist anteriores à 2.8.2, atualize para a versão 2.8.2 ou posterior para resolver o problema.
Para versões do npm anteriores à 7.20.7, atualize para a versão 7.20.7 ou posterior, que inclui a versão corrigida do @npmcli/arborist 2.8.2.
Como solução temporária, considere evitar o uso de sistemas de arquivos que não diferenciam maiúsculas de minúsculas ou restringir a instalação de pacotes que possam explorar esse problema até que uma correção seja aplicada.
Correção
Link Following
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
@Npmcli/Arborist
Alt Linux
Debian
Suse
Npm