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.