PT-2021-7037 · Npm+6 · Node-Tar+6
Publicado
2021-08-31
·
Atualizado
2023-02-23
·
CVE-2021-37712
CVSS v3.1
8.6
Alta
| Vetor | AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do node-tar anteriores à 4.4.18
Versões do node-tar anteriores à 5.0.10
Versões do node-tar anteriores à 6.1.9
Descrição
O problema está relacionado ao tratamento de arquivos tar pelo módulo node-tar, o que pode levar à criação arbitrária de arquivos, sobrescrita e execução de código. Isso se deve a uma lógica insuficiente ao extrair arquivos tar contendo diretórios e links simbólicos com nomes que possuem a mesma normalização Unicode. Em sistemas Windows, partes de caminhos longos podem ser resolvidas para as mesmas entidades do sistema de arquivos que suas contrapartes de “caminho curto” 8.3, permitindo que um arquivo tar não confiável crie um link simbólico para um local arbitrário e extraia arquivos arbitrários.
Recomendações
Para versões do node-tar anteriores à 4.4.18, atualize para a versão 4.4.18 ou posterior.
Para versões do node-tar anteriores à 5.0.10, atualize para a versão 5.0.10 ou posterior.
Para versões do node-tar anteriores à 6.1.9, atualize para a versão 6.1.9 ou posterior.
Como solução alternativa temporária, os usuários podem criar um método de filtro personalizado para impedir a extração de links simbólicos, como:
js
const tar = require(‘tar’)
tar.x({
file: ‘archive.tgz’,
filter: (file, entry) => {
if (entry.type === ‘SymbolicLink’) {
return false
} else {
return true
}
}
})
Exploit
Correção
Link Following
Path traversal
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Alt Linux
Almalinux
Centos
Red Hat
Rocky Linux
Suse
Node-Tar