PT-2026-4825 · Pnpm · Pnpm

·

CVE-2026-23890

·

Publicado

2026-01-16

·

Atualizado

2026-01-27

CVSS v2.0

7.8

Alta

VetorAV:N/AC:L/Au:N/C:N/I:C/A:N
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.

Exploit

Correção

Relative Path Traversal

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

BDU:2026-00958
CVE-2026-23890
GHSA-XPQM-WM3M-F34H

Produtos afetados

Pnpm