
Exploit baseado em Python para CVE-2025-20260 que gera um arquivo PDF malicioso e inclui capacidades de análise de core dump para verificação de vulnerabilidade.
Primeira prova de conceito pública para CVE-2025-20260 (pontuação base CVSS 3.1 9.8, Crítica), uma vulnerabilidade de estouro de buffer no caminho de verificação de PDF do ClamAV. Este repositório contém um gerador do PDF malicioso que aciona a falha, além de uma análise de core dump documentando o crash.
Este PoC foi desenvolvido e publicado após a vulnerabilidade ter sido corrigida e divulgada de forma coordenada pela Cisco/ClamAV. Ele é fornecido para pesquisa defensiva, engenharia de detecção e educação. Não o execute contra sistemas que você não possui ou para os quais não tenha permissão explícita de teste.
Conforme o registro do NVD e o aviso da Cisco:
Uma vulnerabilidade nos processos de verificação de PDF do ClamAV poderia permitir que um atacante remoto não autenticado causasse uma condição de estouro de buffer, causasse uma condição de negação de serviço (DoS) ou executasse código arbitrário em um dispositivo afetado. Esta vulnerabilidade existe porque os buffers de memória são alocados incorretamente quando arquivos PDF são processados.
O analisador de PDF do ClamAV lê o campo /Length de um objeto stream para dimensionar o buffer que aloca para os dados decodificados. O clamshank.py cria um PDF cujo único objeto declara um comprimento malformado e superdimensionado e carrega um stream ASCII85Decode com apenas alguns bytes a mais que uint32_MAX / 4:
1 0 obj
<< /Length 1073741824 444444444444 /Filter /ASCII85Decode >>
stream
... (~1,073,741,825 bytes of ASCII85 data) ...
Quando o ClamAV verifica o arquivo, a aritmética incorreta de comprimento leva a uma alocação de buffer com tamanho errado e a decodificação subsequente o transborda, derrubando o processo de verificação (DoS) com potencial de execução de código no contexto do processo do ClamAV.
| Arquivo | Descrição |
|---|---|
clamshank.py | Gera o clam-cve.pdf, o PDF malicioso que aciona o estouro. |
HOS Core dump analysis for CVE-2025-20260.pdf | Análise de core dump do crash, documentando o estouro no momento da falha. |
python3 clamshank.py # writes clam-cve.pdf
clamscan clam-cve.pdf # against a vulnerable ClamAV build, in an isolated VM
Execute apenas contra uma instância do ClamAV que você controla, em um ambiente descartável/isolado. O arquivo gerado tem ~1 GB por design.
Atualize para uma versão corrigida do ClamAV (consulte o aviso da Cisco para as versões corrigidas). Não exponha a verificação de PDF de entradas não confiáveis em builds não corrigidos.
Apenas para pesquisa de segurança autorizada e educação. O autor não se responsabiliza pelo uso indevido.