PT-2026-39297 · Unknown · Sharpcompress
Svenclaesson
·
Publicado
2026-05-08
·
Atualizado
2026-06-03
·
CVE-2026-44788
CVSS v3.1
6.5
Média
| Vetor | AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N |
Nome do Software Vulnerável e Versões Afetadas
SharpCompress (versões afetadas não especificadas)
Descrição
Um problema de travessia de diretório existe no método
IArchive.WriteToDirectory(), especificamente nas funções WriteToDirectoryInternal() e WriteToDirectoryAsyncInternal(). Isso permite que um arquivo compactado malicioso crie diretórios fora da raiz de extração pretendida, pois o software não realiza a normalização do caminho ou verificações de limite antes de chamar Directory.CreateDirectory. Isso afeta os formatos de arquivo ZIP e TAR (não sólidos).Para arquivos TAR, isso pode ser escalado para gravações arbitrárias de arquivos se o chamador fornecer um
SymbolicLinkHandler. Um invasor pode usar uma entrada de link simbólico para apontar para fora da raiz de extração; entradas de arquivo subsequentes que visem esse link simbólico serão gravadas no local externo, pois a biblioteca não valida a variável linkTarget antes de passá-la para o manipulador.Recomendações
Aplique a normalização de caminho usando
Path.GetFullPath() e verifique se o caminho resultante começa com o diretório de destino antes de chamar Directory.CreateDirectory() nas funções WriteToDirectoryInternal() e WriteToDirectoryAsyncInternal().
Valide a variável linkTarget antes de invocar o SymbolicLinkHandler ou restrinja o uso do SymbolicLinkHandler ao processar arquivos TAR não confiáveis.Exploit
Correção
Path traversal
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Sharpcompress