
Exploit basé sur Python pour CVE-2025-20260 qui génère un fichier PDF malveillant et inclut des capacités d'analyse de core dump pour la vérification de vulnérabilité.
Première preuve de concept publique pour CVE-2025-20260 (score de base CVSS 3.1 9.8, Critique), une vulnérabilité de débordement de tampon dans le chemin d'analyse PDF de ClamAV. Ce dépôt contient un générateur du PDF malveillant qui déclenche la faille, ainsi qu'une analyse de core dump documentant le plantage.
Ce PoC a été développé et publié après que la vulnérabilité a été corrigée et divulguée de manière coordonnée par Cisco/ClamAV. Il est fourni à des fins de recherche défensive, d'ingénierie de détection et d'éducation. Ne l'exécutez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester.
Selon l'enregistrement NVD et l'avis Cisco :
Une vulnérabilité dans les processus d'analyse PDF de ClamAV pourrait permettre à un attaquant distant non authentifié de provoquer une condition de débordement de tampon, de provoquer un déni de service (DoS) ou d'exécuter du code arbitraire sur un appareil affecté. Cette vulnérabilité existe car les tampons mémoire sont alloués de manière incorrecte lors du traitement des fichiers PDF.
Le parseur PDF de ClamAV lit le champ /Length d'un objet stream pour dimensionner le tampon qu'il alloue pour les données décodées. clamshank.py fabrique un PDF dont l'unique objet déclare une longueur surdimensionnée et malformée et transporte un flux ASCII85Decode juste plus long que uint32_MAX / 4 octets :
1 0 obj
<< /Length 1073741824 444444444444 /Filter /ASCII85Decode >>
stream
... (~1,073,741,825 bytes of ASCII85 data) ...
Lorsque ClamAV analyse le fichier, l'arithmétique de longueur incorrecte conduit à une allocation de tampon de taille erronée et le décodage qui suit le déborde, faisant planter le processus d'analyse (DoS) avec un potentiel d'exécution de code dans le contexte du processus ClamAV.
| Fichier | Description |
|---|---|
clamshank.py | Génère clam-cve.pdf, le PDF malveillant qui déclenche le débordement. |
HOS Core dump analysis for CVE-2025-20260.pdf | Analyse de core dump du plantage, documentant le débordement au moment de la faute. |
python3 clamshank.py # writes clam-cve.pdf
clamscan clam-cve.pdf # against a vulnerable ClamAV build, in an isolated VM
Exécutez uniquement contre une instance ClamAV que vous contrôlez, dans un environnement jetable/isolé. Le fichier généré fait ~1 Go par conception.
Mettez à niveau vers une version corrigée de ClamAV (voir l'avis Cisco pour les versions corrigées). N'exposez pas l'analyse PDF d'entrées non fiables sur des versions non corrigées.
Uniquement pour la recherche en sécurité autorisée et l'éducation. L'auteur n'est pas responsable d'un usage abusif.