PT-2026-4829 · Npm · Pnpm
CVSS v4.0
6.7
Média
| Vetor | AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
Versões do pnpm anteriores à 10.28.2
Descrição
O pnpm, um gerenciador de pacotes, está suscetível a um problema de permissão de arquivo ao processar o campo
directories.bin dentro de um pacote. Um pacote npm malicioso pode manipular este campo, especificamente usando caminhos como "directories": {"bin": "../../../../tmp"} para contornar as restrições do diretório do pacote. Isso permite que o pnpm execute chmod 755 em arquivos localizados em diretórios arbitrários. O problema é limitado a sistemas Unix/Linux/macOS, pois o Windows não é afetado devido à funcionalidade fixBin ser condicionada por EXECUTABLE SHEBANG SUPPORTED. O código vulnerável reside em pkg-manager/package-bins/src/index.ts linhas 15-21, onde path.join() é usado sem validar se o caminho resultante permanece dentro da raiz do pacote. O campo bin é protegido por isSubdir(), mas directories.bin carece desta verificação. Uma prova de conceito demonstra como um pacote malicioso pode alterar as permissões de um arquivo sensível, mudando-as de 600 para 755, tornando-o legível para todos. Isso poderia levar a ataques à cadeia de suprimentos via pacotes npm.Recomendações
Atualize para a versão 10.28.2 ou posterior do pnpm.
Exploit
Correção
Incorrect Permission
Path traversal
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Pnpm