
Exploit basado en Python para CVE-2025-20260 que genera un archivo PDF malicioso e incluye capacidades de análisis de volcado de memoria (core dump) para la verificación de vulnerabilidades.
Primera prueba de concepto pública para CVE-2025-20260 (puntuación base CVSS 3.1 9.8, Crítica), una vulnerabilidad de desbordamiento de búfer en la ruta de escaneo de PDF de ClamAV. Este repositorio contiene un generador del PDF malicioso que desencadena el fallo, además de un análisis de volcado de memoria (core dump) que documenta el bloqueo.
Este PoC se desarrolló y publicó después de que la vulnerabilidad fuera parcheada y divulgada de forma coordinada por Cisco/ClamAV. Se proporciona para investigación defensiva, ingeniería de detección y fines educativos. No lo ejecute contra sistemas que no sean de su propiedad o para los que no tenga permiso explícito de prueba.
Según el registro de NVD y el aviso de Cisco:
Una vulnerabilidad en los procesos de escaneo de PDF de ClamAV podría permitir a un atacante remoto no autenticado provocar una condición de desbordamiento de búfer, causar una condición de denegación de servicio (DoS) o ejecutar código arbitrario en un dispositivo afectado. Esta vulnerabilidad existe porque los búferes de memoria se asignan incorrectamente cuando se procesan archivos PDF.
El analizador de PDF de ClamAV lee el campo /Length de un objeto stream para dimensionar el búfer que asigna para los datos decodificados. clamshank.py crea un PDF cuyo único objeto declara una longitud sobredimensionada y malformada y contiene un stream ASCII85Decode con una longitud justo superior a uint32_MAX / 4 bytes:
1 0 obj
<< /Length 1073741824 444444444444 /Filter /ASCII85Decode >>
stream
... (~1,073,741,825 bytes of ASCII85 data) ...
Cuando ClamAV escanea el archivo, la aritmética incorrecta de la longitud provoca una asignación de búfer de tamaño erróneo y la decodificación posterior lo desborda, bloqueando el proceso de escaneo (DoS) con la posibilidad de ejecución de código en el contexto del proceso de ClamAV.
| Archivo | Descripción |
|---|---|
clamshank.py | Genera clam-cve.pdf, el PDF malicioso que desencadena el desbordamiento. |
HOS Core dump analysis for CVE-2025-20260.pdf | Análisis del volcado de memoria del bloqueo, que documenta el desbordamiento en el momento del fallo. |
python3 clamshank.py # writes clam-cve.pdf
clamscan clam-cve.pdf # against a vulnerable ClamAV build, in an isolated VM
Ejecútelo únicamente contra una instancia de ClamAV que usted controle, en un entorno desechable/aislado. El archivo generado tiene ~1 GB por diseño.
Actualice a una versión parcheada de ClamAV (consulte el aviso de Cisco para conocer las versiones corregidas). No exponga el escaneo de PDF de entradas no confiables en compilaciones sin parchear.
Solo para investigación de seguridad autorizada y fines educativos. El autor no se hace responsable del uso indebido.