
Replicato utilizzando l'instrumentazione di afl fuzzer! Un ringraziamento a antonio-morales.
CVE-2019-13288 è una vulnerabilità identificata in Xpdf versione 4.01.01, specificamente nella funzione Parser::getObj() in Parser.cc. Questo difetto può portare a ricorsione infinita durante l'elaborazione di un file PDF appositamente creato, provocando una condizione di Denial of Service (DoS). La vulnerabilità è simile a CVE-2018-16646 e sottolinea l'importanza di una robusta validazione dell'input nelle funzioni ricorsive.
CVE ID: CVE-2019-13288
Software interessato: Xpdf 4.01.01
Tipo di vulnerabilità: Ricorsione incontrollata (CWE-674)
Impatto: Denial of Service (DoS)
CVSS v3.0 Base Score: 5.5 (Medio)
Parser::getObj()La funzione Parser::getObj() è responsabile dell'analisi degli oggetti all'interno di un file PDF. In Xpdf 4.01.01, questa funzione manca di controlli adeguati per prevenire la ricorsione infinita. Un attaccante può creare un file PDF con una struttura di oggetti malevola che induce getObj() a chiamarsi ricorsivamente senza terminazione, portando all'esaurimento dello stack e al crash dell'applicazione.
Un attaccante crea un file PDF malevolo con una struttura di oggetti specifica progettata per innescare la ricorsione infinita nella funzione Parser::getObj(). Quando questo file viene elaborato da Xpdf o da qualsiasi applicazione che utilizza la sua libreria, l'applicazione entra in un loop ricorsivo infinito, consumando risorse di sistema e infine crashando.
Un file PDF proof-of-concept (PoC) che dimostra questa vulnerabilità è disponibile di seguito in questo repository.
Per vedere passo dopo passo come è stato replicato, vedere sotto:
Nota: Questo PoC è inteso esclusivamente a scopo educativo e di ricerca. L'uso non autorizzato contro sistemi senza permesso esplicito è eticamente scorretto e potrebbe essere illegale. Non fare il cattivo!
Questa analisi è stata ispirata dalle metodologie presentate nella guida Fuzzing101 di Antonio Morales. La vulnerabilità è stata inizialmente identificata tramite tecniche di fuzzing, evidenziando l'efficacia di tali approcci nello scoprire difetti software nascosti.
Antonio-Morales è un mito! Grazie, senza la tua ricerca non sarei stato in grado di replicarlo!
Queste informazioni sono fornite esclusivamente a scopo educativo e di ricerca. L'autore non è responsabile per qualsiasi uso improprio delle informazioni qui contenute. Assicurati sempre di avere la dovuta autorizzazione prima di testare o sfruttare vulnerabilità su qualsiasi sistema.