Unknown · Sharpcompress · CVE-2026-44788
**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.