O GitHub resolve várias vulnerabilidades graves encontradas em pacotes Node.js tar e também @npmcli/arborist. O pior dos problemas permitia sobrescrever arquivos e execução arbitrária de códigos. Na quarta-feira, o GitHub disse que a empresa recebeu relatórios de Robert Chen e Philip Papurt, entre 21 de julho e 13 de agosto, de falhas de segurança afetando os pacotes por meio de um dos programas de recompensa de bugs do GitHub, que dá aos pesquisadores crédito e recompensas financeiras por divulgar vulnerabilidades de forma responsável ao fornecedor.
O diretor de segurança do GitHub, Mike Hanley, diz que esses relatórios levaram o GitHub a conduzir sua própria análise do tar e do @npmcli/arborist, levando à descoberta de problemas de segurança adicionais.
O pacote tar Node.js é usado para imitar o sistema de arquivo tar no Unix, enquanto @npmcli/arborist foi desenvolvido para gerenciar árvores node_modules. Tar é uma dependência principal do npm para extração de pacote npm e @npmcli/arborist é uma dependência principal para o npm CLI.
O Node-tar foi responsável por 22.390.735 downloads semanais, no momento da escrita, enquanto @npmcli/arborist foi baixado 405.551 vezes na semana passada. No total, sete vulnerabilidades foram verificadas por meio dos relatórios de recompensa de bug e da equipe de segurança nas descobertas do GitHub:
Tar:
- CVE-2021-32803, alto impacto: Criação/substituição arbitrária de arquivos por meio de proteção de link simbólico insuficiente. Um arquivo tar malicioso pode criar / sobrescrever arquivos arbitrários com os privilégios do processo usando tar.
- CVE-2021-32804, alto impacto: Criação/substituição arbitrária de arquivos devido à sanitização insuficiente do caminho absoluto. Pacotes npm maliciosos podem criar/sobrescrever arquivos com os privilégios do usuário que está executando a instalação, levando à execução do código.
- CVE-2021-37701, alto impacto: um problema de separador de caminho em nomes de arquivo pode levar a arquivos tar maliciosos criando/sobrescrevendo arquivos arbitrários com os níveis de privilégio do processo que executa o tar.
- CVE-2021-37712, alto impacto: conversões Unicode e semântica de nome de arquivo do Windows 8.3 podem causar envenenamento do cache de diretório e desvios de verificação de link simbólico, levando à criação e substituição arbitrárias de arquivos.
- CVE-2021-37713, alto impacto: Criação/substituição arbitrária de arquivos no Windows por meio de sanitização de caminho relativo insuficiente. Pacotes npm maliciosos podem criar e sobrescrever arquivos fora de sua raiz de instalação, com privilégios de usuário.
@npmcli/arborist:
- CVE-2021-39134, impacto médio: Um problema em como os links simbólicos na árvore node_modules são tratados. A exploração pode resultar em pacotes maliciosos sobrescrevendo arquivos fora de uma raiz de instalação com privilégios de usuário.
- CVE-2021-39135, impacto médio: Esta vulnerabilidade também afeta o tratamento de links simbólicos, especificamente quando pacotes não confiáveis ??são instalados em sistemas de arquivos que não diferenciam maiúsculas de minúsculas.
GitHub resolve vulnerabilidades graves em pacotes Node.js.
“CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 e CVE-2021-39135 especificamente têm um impacto de segurança na CLI npm ao processar uma instalação de pacote npm mal-intencionado ou não confiável”, diz o GitHub. “Alguns desses problemas podem resultar na execução de código arbitrário, mesmo se você estiver usando –ignore-scripts para evitar o processamento de scripts de ciclo de vida do pacote.”
Para alertar os desenvolvedores sobre esses bugs, o GitHub criou 16,7 milhões de alertas Dependabot e lançou 1,8 milhões de notificações.
O GitHub solicitou aos gerentes de projeto que usem o npm CLI e o baixem diretamente para atualizar para v6.14.15, v7.21.0 ou mais recente. Se o Node.js estiver em uso, a organização recomenda uma atualização para as versões mais recentes do Nó 12, 14 ou 16, todas contendo patches para resolver as falhas de segurança. Os usuários do Tar agora podem atualizar para as versões 4.4.19, 5.0.11 e 6.1.10. A versão mais recente de @npmcli/arborist disponível é 2.8.3.
Chen e Papurt receberam uma recompensa combinada de $ 14.500 por seus relatórios.
Via ZDNet