Vulnerabilidade no pacote NPM pac-resolver com 3 milhões de downloads por semana

O pacote NPM pac-resolver, que tem mais de 3 milhões de downloads por semana, possui uma vulnerabilidade (CVE-2021-23406) que permite que seu código JavaScript seja executado no contexto da aplicação ao enviar solicitações HTTP de projetos Node.js que suporta a função de configuração automática do servidor proxy.

O pacote pac-resolver analisa arquivos PAC que incluem um script de configuração automática de proxy. O arquivo PAC contém código JavaScript regular com uma função FindProxyForURL que define a lógica para escolher um proxy dependendo do host e do URL solicitado. A essência da vulnerabilidade é que para executar esse código JavaScript no pac-resolver, foi usada a API VM fornecida em Node.js, que permite executar código JavaScript em um contexto diferente do mecanismo V8.

A API especificada está explicitamente marcada na documentação como não destinada à execução de código não confiável, pois não fornece isolamento completo do código que está sendo executado e permite acesso ao contexto original. O problema foi resolvido no pac-resolver 5.0.0, que foi movido para usar a biblioteca vm2, que fornece um nível mais alto de isolamento adequado para a execução de código não confiável.

Vulnerabilidade no pacote NPM pac-resolver com 3 milhões de downloads por semana

Ao usar uma versão vulnerável do pac-resolver, um invasor, por meio da transmissão de um arquivo PAC especialmente projetado, pode executar seu código JavaScript no contexto do código de um projeto usando Node.js, se este projeto usar bibliotecas que possuem dependências com pac-resolver. A mais popular das bibliotecas problemáticas é a Proxy-Agent, listada como uma dependência de projetos 360, incluindo urllib, aws-cdk, mailgun.js e firebase-tools, totalizando mais de três milhões de downloads por semana.

Se um aplicativo que depende do pac-resolver carregar um arquivo PAC fornecido por um sistema que suporta o protocolo de configuração automática de proxy WPAD, os invasores com acesso à rede local poderão usar a distribuição de configurações de proxy via DHCP para inserir arquivos PAC maliciosos.

Fonte: opennet.ru

Adicionar um comentário