Do not speak Portuguese? Translate this site with Google or Bing Translator

Foram encontradas três vulnerabilidades no NPM! Entenda e atualize!

Foram encontradas três vulnerabilidades no NPM que agora podem ser corrigidas com a atualização para o NPM mais recente. Confira os detalhes dessas falhas.

O Node.js é um ambiente de tempo de execução Javascript de código-fonte aberto e multiplataforma amplamente utilizado. Já o NPM é um gerenciador de pacotes para o ambiente de tempo de execução JavaScript Node.js.

Foram encontradas três vulnerabilidades no NPM! Entenda e atualize!
Foram encontradas três vulnerabilidades no NPM! Entenda e atualize!

Os desenvolvedores responsáveis ​​pelo projeto do gerenciador de pacotes do NPM anunciaram recentemente o lançamento de uma atualização corretiva do NPM 6.13.4 incluída na entrega do Node.js. usada para distribuir os módulos JavaScript.

Foram encontradas três vulnerabilidades no NPM! Entenda e atualize!

Esta nova versão corretiva do gerenciador foi lançada para solucionar três vulnerabilidades que permitem modificar ou substituir os arquivos arbitrários do sistema ao instalar um pacote preparado por um invasor.

CVE-2019-16775
Essa vulnerabilidade afeta as versões da NPM CLI anteriores à 6.13.3, pois elas são vulneráveis ​​à gravação arbitrária de arquivos. É possível que os pacotes criem links simbólicos para arquivos fora da pasta node_modules através do campo bin após a instalação.

Uma entrada adequadamente construída no campo bin package.json permitiria que um editor de pacotes crie um link simbólico que aponte para arquivos arbitrários no sistema do usuário quando o pacote estiver instalado. Esse comportamento ainda é possível através de scripts de instalação.

CVE-2019-16776
Nesta vulnerabilidade, as versões do NPM CLI anteriores à 6.13.3 são afetadas por uma gravação arbitrária de arquivos. Como não é possível impedir o acesso a pastas fora da pasta node_modules fornecida através do campo bin.

Uma entrada construída corretamente no campo bin package.json permitiria a um editor de pacotes modificar e acessar arquivos arbitrários no sistema de um usuário quando o pacote estiver instalado. Esse comportamento ainda é possível através de scripts de instalação.

No campo bin, rotas com “/../” eram permitidas

CVE-2019-16777
Por fim, nessa vulnerabilidade, as versões da CLI do NPM anteriores à 6.13.4 são vulneráveis ​​à substituição de arquivos arbitrários. Como você não pode impedir que outros binários substituam os binários existentes instalados globalmente.

Por exemplo, se um pacote foi instalado globalmente e criou um binário de serviço, qualquer instalação subsequente de pacotes que também criem um binário de serviço substituirá o binário de serviço anterior.

Esse comportamento ainda é permitido em instalações locais e também através de scripts de instalação.

Você pode substituir apenas os arquivos no diretório de destino em que os arquivos executáveis ​​estão instalados (geralmente / usr, / local, / bin).

Embora um fator importante para essas vulnerabilidades seja que a pessoa que deseja tirar proveito dessas falhas precise que sua vítima instale o pacote com a entrada de compartimento especialmente projetada. No entanto, como vimos no passado, essa não é uma barreira intransponível.

“A equipe de segurança da npm, Inc. está examinando o registro em busca de exemplos desse ataque e não encontrou nenhum pacote publicado no registro com essa exploração. Isso não garante que ele não tenha sido usado, mas significa que No momento, ele não está sendo usado em pacotes publicados no registro. Continuaremos monitorando e tomando medidas para impedir que maus atores explorem essa vulnerabilidade no futuro. No entanto, não podemos verificar todas as fontes possíveis de pacotes npm (registros particulares, espelhos, repositórios git etc.), portanto, é importante atualizar o mais rápido possível.”

Como solução principal, é recomendável que você atualize para a nova versão corretiva, pois as bibliotecas de análise package.json em uso no NPM v6.13.3 foram atualizadas para desinfetar e validar todas as entradas no campo bin para remover as barras iniciais, entradas de rota e outros meios de fuga de rota, usando o utilitário de rota comprovado e altamente confiável incorporado ao Node.js.

Embora, como uma solução alternativa, ele possa ser instalado com a opção –ignore-scripts, que proíbe a execução de pacotes de drivers integrados.

Sem mais, se você quiser saber mais sobre os bugs, verifique os detalhes na postagem do blog npm no link a seguir.

Por fim, para quem deseja instalar a nova versão, eles podem fazer isso pelos canais oficiais ou optar por fazer a compilação a partir do código fonte. Para isso, você pode seguir as instruções no seguinte endereço.

O que está sendo falado no blog

No Post found.

Artigos relacionados

Compartilhe:
Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.