UNKNOWNCVE-2026-24842

node-tar Vulnerável à Criação/Sobrescrita Arbitrária de Arquivos via Path Traversal de Hardlink

Plataforma

nodejs

Componente

tar

Corrigido em

7.5.7

### Resumo node-tar contém uma vulnerabilidade onde a verificação de segurança para entradas de hardlink usa semânticas de resolução de caminho diferentes da lógica real de criação de hardlink. Essa incompatibilidade permite que um invasor crie um arquivo TAR malicioso que ignora as proteções de path traversal e cria hardlinks para arquivos arbitrários fora do diretório de extração. ### Detalhes A vulnerabilidade existe em `lib/unpack.js`. Ao extrair um hardlink, duas funções lidam com o linkpath de forma diferente: **Verificação de segurança em `[STRIPABSOLUTEPATH]`:** ```javascript const entryDir = path.posix.dirname(entry.path); const resolved = path.posix.normalize(path.posix.join(entryDir, linkpath)); if (resolved.startsWith('../')) { /* block */ } ``` **Criação de Hardlink em `[HARDLINK]`:** ```javascript const linkpath = path.resolve(this.cwd, entry.linkpath); fs.linkSync(linkpath, dest); ``` **Exemplo:** Uma aplicação extrai um TAR usando `tar.extract({ cwd: '/var/app/uploads/' })`. O TAR contém a entrada `a/b/c/d/x` como um hardlink para `../../../../etc/passwd`. - **Verificação de segurança** resolve o linkpath relativo ao diretório pai da entrada: `a/b/c/d/ + ../../../../etc/passwd` = `etc/passwd`. Sem prefixo `../`, então

Como corrigir

Nenhum patch oficial disponível. Procure alternativas ou monitore atualizações.

Monitore suas dependências automaticamente

Receba alertas quando novas vulnerabilidades afetarem seus projetos.

Começar grátis