PT-2021-5676 · Npm+3 · @Npmcli/Arborist+4
Publicado
2021-08-31
·
Atualizado
2024-06-15
·
CVE-2021-39135
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 está relacionado à biblioteca
@npmcli/arborist, que calcula árvores de dependências e gerencia a hierarquia da pasta node modules para a interface de linha de comando do npm. Se a pasta node modules do projeto raiz ou de qualquer uma de suas dependências for substituída por um link simbólico, isso poderia permitir que o Arborist gravasse dependências de pacotes em qualquer local arbitrário no sistema de arquivos. Um invasor poderia explorar essa vulnerabilidade fornecendo um repositório git e instruindo o alvo a executar npm install --ignore-scripts na raiz. Isso pode ser bem-sucedido porque npm install --ignore-scripts normalmente não é capaz de fazer alterações fora do diretório do projeto, portanto pode ser considerado seguro.Recomendações
Para versões do @npmcli/arborist anteriores à 2.8.2, atualize para a versão 2.8.2 ou posterior.
Para versões do npm anteriores à 7.20.7, atualize para a versão 7.20.7 ou posterior.
Como solução alternativa temporária, considere verificar se a pasta
node modules é um diretório real antes de executar npm install.Não execute
npm install em bases de código não confiáveis sem primeiro garantir que o diretório node modules no projeto não seja um link simbólico.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