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.
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 instalar o jogo TuxPusher no Linux via Flatpak
- Como instalar o emulador de jogos de PS2 PCSX2 no Linux
- Como instalar o jogo Doom BFA no Linux via Flatpak
- Como instalar o jogo de quebra-cabeça System Syzygy no Linux via Snap
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.
Post Views: 389