
Python-basierter Exploit für CVE-2025-20260, der eine schädliche PDF-Datei generiert und Core-Dump-Analysefunktionen zur Schwachstellenüberprüfung enthält.
Erster öffentlicher Proof-of-Concept für CVE-2025-20260 (CVSS-3.1-Basisscore 9,8, Kritisch), eine Pufferüberlauf-Schwachstelle im PDF-Scanning-Pfad von ClamAV. Dieses Repository enthält einen Generator für das bösartige PDF, das die Schwachstelle auslöst, sowie eine Core-Dump-Analyse, die den Absturz dokumentiert.
Dieser PoC wurde nach dem Patchen und der koordinierten Offenlegung der Schwachstelle durch Cisco/ClamAV entwickelt und veröffentlicht. Er dient der defensiven Forschung, dem Detection Engineering und der Ausbildung. Führen Sie ihn nicht gegen Systeme aus, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Testgenehmigung haben.
Laut dem NVD-Eintrag und der Cisco-Advisory:
Eine Schwachstelle in den PDF-Scanning-Prozessen von ClamAV könnte es einem nicht authentifizierten, entfernten Angreifer ermöglichen, einen Pufferüberlauf, einen Denial-of-Service (DoS)-Zustand oder die Ausführung beliebigen Codes auf einem betroffenen Gerät zu verursachen. Diese Schwachstelle besteht, weil Speicherpuffer bei der Verarbeitung von PDF-Dateien falsch zugewiesen werden.
Der PDF-Parser von ClamAV liest das Feld /Length eines Stream-Objekts, um die Größe des Puffers zu bestimmen, der für die dekodierten Daten zugewiesen wird. clamshank.py erstellt ein PDF, dessen einzelnes Objekt eine überdimensionierte, fehlerhafte Länge deklariert und einen ASCII85Decode-Stream enthält, der gerade etwas länger als uint32_MAX / 4 Bytes ist:
1 0 obj
<< /Length 1073741824 444444444444 /Filter /ASCII85Decode >>
stream
... (~1,073,741,825 bytes of ASCII85 data) ...
Wenn ClamAV die Datei scannt, führt die fehlerhafte Längenarithmetik zu einer falsch dimensionierten Pufferzuweisung, und die anschließende Dekodierung läuft über diesen Puffer hinaus, wodurch der Scanprozess abstürzt (DoS) – mit dem Potenzial zur Codeausführung im Kontext des ClamAV-Prozesses.
| Datei | Beschreibung |
|---|---|
clamshank.py | Erzeugt clam-cve.pdf, das bösartige PDF, das den Überlauf auslöst. |
HOS Core dump analysis for CVE-2025-20260.pdf | Core-Dump-Analyse des Absturzes, die den Überlauf zum Zeitpunkt des Fehlers dokumentiert. |
python3 clamshank.py # writes clam-cve.pdf
clamscan clam-cve.pdf # against a vulnerable ClamAV build, in an isolated VM
Führen Sie dies nur gegen eine ClamAV-Instanz aus, die Sie kontrollieren, in einer wegwerfbaren/isolierten Umgebung. Die erzeugte Datei ist konstruktionsbedingt etwa 1 GB groß.
Aktualisieren Sie auf eine gepatchte ClamAV-Version (die festen Versionen finden Sie in der Cisco-Advisory). Setzen Sie das PDF-Scanning nicht vertrauenswürdiger Eingaben nicht auf ungepatchten Builds ein.
Nur für autorisierte Sicherheitsforschung und Ausbildung. Der Autor ist nicht für Missbrauch verantwortlich.