
CVE-2026-48095
7-Zip é um compactador de arquivos com alta taxa de compressão. As versões 26.00 e anteriores contêm uma vulnerabilidade de estouro de buffer no heap causada por uma subalocação no buffer do fluxo compactado NTFS (GetCuSize shift UB), potencialmente permitindo que atacantes causem execução arbitrária de código ou travamentos do aplicativo. CInStream::GetCuSize() no manipulador NTFS calcula o tamanho do buffer da unidade de compressão como (UInt32)1 << (BlockSizeLog + CompressionUnit), e uma imagem criada com ClusterSizeLog >= 28 e CompressionUnit == 4 leva o expoente a 32, o que é comportamento indefinido e colapsa em x86/x64, fazendo com que _inBuf seja alocado como 1 byte. ReadStream_FALSE então grava até 256 MB de dados controlados pelo atacante nesse buffer de 1 byte em iterações de 64 KB, e como o objeto CInStream fica apenas 304 bytes após _inBuf, seu ponteiro de vtable é sobrescrito e a próxima chamada despachada alcança um sequestro de vtable. Em builds de 32 bits, o estouro é alcançado incondicionalmente; em 64 bits, exige que a alocação paralela de 8 GB de _outBuf seja bem-sucedida, caso contrário, falha de forma segura em negação de serviço. O manipulador NTFS é habilitado por padrão no 7z.dll padrão e, por meio de fallback baseado em assinatura que corresponde a "NTFS " no offset 3, abrirá uma imagem criada independentemente da extensão do arquivo durante extração ou teste. A versão 26.01 corrige o problema.
Use este projeto apenas em ambientes seguros e autorizados, como:
Exemplo de configuração:
git clone <repository-url>
cd <repository-name>
Exemplo de uso:
# Install dependencies
# Run the project
python cve-2026-48095.py
# Specify output file name
python cve-2026-48095.py poc_ntfs_sparse.zip
Um repositório para aprender, testar e pesquisar conceitos de segurança cibernética em ambientes controlados.
Este repositório é exclusivamente para pesquisa de segurança educacional e autorizada.
Ele foi projetado para ajudar os usuários a aprender sobre:
Use este repositório apenas em ambientes onde você tenha permissão, como:
O uso não autorizado ou ilegal é estritamente proibido.
O autor e os contribuidores não são responsáveis por qualquer dano, uso indevido, problemas legais ou perdas causados por este projeto.
Ao usar este repositório, você concorda que:
Este projeto destina-se a:
Por favor, siga práticas de divulgação responsável e cumpra todas as leis aplicáveis.
Para divulgação responsável ou colaboração, entre em contato com o mantenedor do repositório pelo GitHub.