Mldangelo

#6043de 55,140
46.1CVSS total
Vulnerabilidades · 6
Média
2
Alta
3
Crítica
1
PT-2026-4825
7.8
2026-01-16
Pnpm · Pnpm · CVE-2026-23890
**Nome do Software Vulnerável e Versões Afetadas** Versões do pnpm anteriores a 10.28.1 **Descrição** O pnpm é suscetível a uma vulnerabilidade de travessia de diretório em seu mecanismo de vinculação de binários. Pacotes npm maliciosos podem explorar isso para criar shims executáveis ou links simbólicos fora do diretório `node modules/.bin`. A vulnerabilidade surge porque nomes de binários que começam com `@` contornam a validação, e sequências de travessia de diretório como `../../` não são totalmente removidas durante a normalização. Isso permite que atacantes potencialmente sobrescrevam arquivos de configuração, scripts ou outros arquivos sensíveis. O problema afeta todos os usuários do pnpm que instalam pacotes npm, bem como pipelines CI/CD que utilizam o pnpm. A vulnerabilidade está presente na lógica de validação e normalização de nomes de binários nos arquivos `pkg-manager/package-bins/src/index.ts` e `pkg-manager/link-bins/src/index.ts`. Especificamente, o filtro permite que qualquer nome de binário iniciado com `@` passe sem validação. A função `normalizeBinName` não remove completamente as sequências de travessia de diretório. O nome normalizado é então usado diretamente em `path.join()` sem validação adicional. Uma prova de conceito (PoC) demonstra a criação de um pacote malicioso com uma entrada de binário como `@scope/../../.npmrc`, que, ao ser instalado, resulta na criação do arquivo `.npmrc` na raiz do projeto, fora do diretório esperado `node modules/.bin`. **Recomendações** Atualize o pnpm para a versão 10.28.1 ou posterior.