Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2024-30350-research-notes — Note di ricerca che documentano CVE-2024-30350, una lettura fuori dai limiti nella gestione delle annotazioni di Foxit PDF Reader, che coprono triage, divulgazione e linee guida difensive. | Kitploit
Strumenti/GitHubGitHub/lmx-071028/cve-2024-30350-research-notes
Analisi delle VulnerabilitàReverse EngineeringRaccolta InformazioniPaper e RicercaApprendimento e FormazioneRisorse Curate
GitHublmx-071028/cve-2024-30350-research-notes

cve-2024-30350-research-notes

Note di ricerca che documentano CVE-2024-30350, una lettura fuori dai limiti nella gestione delle annotazioni di Foxit PDF Reader, che coprono triage, divulgazione e linee guida difensive.

Vedi Repository
12h 4m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Note di ricerca su CVE-2024-30350

Panoramica

CVE-2024-30350 è una vulnerabilità di divulgazione di informazioni da lettura fuori dai limiti (out-of-bounds read) in Foxit PDF Reader. Il problema è stato pubblicato da Trend Micro Zero Day Initiative come ZDI-24-333 e tracciato prima della divulgazione come ZDI-CAN-22708.

L'avviso pubblico descrive l'area vulnerabile come la gestione degli oggetti Annotation da parte di Foxit PDF Reader. Un PDF appositamente creato può indurre l'applicazione a leggere oltre la fine di un buffer allocato. Lo sfruttamento richiede l'interazione dell'utente, come l'apertura di un file PDF malevolo o la visita a una pagina che ne distribuisca uno. L'impatto immediato è la divulgazione di informazioni sensibili, e l'avviso osserva che la condizione può essere utile se concatenata con altre vulnerabilità.

Questo repository documenta la vulnerabilità, il flusso di lavoro di ricerca, il processo di triage e le note di divulgazione. Non include intenzionalmente un proof of concept weaponizzato.

Fatti pubblici

CampoValore
CVECVE-2024-30350
Avviso ZDIZDI-24-333
Caso ZDIZDI-CAN-22708
ProdottoFoxit PDF Reader
FornitoreFoxit
ComponenteGestione degli oggetti Annotation
DebolezzaLettura fuori dai limiti
CWECWE-125
ImpattoDivulgazione di informazioni
CVSS3.3
VettoreCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Data di segnalazione al fornitore2023-12-20
Data dell'avviso pubblico2024-03-28
Data di aggiornamento dell'avviso2024-07-01
Risolto daAggiornamenti di sicurezza di Foxit PDF Reader 2024.1 e Foxit PDF Editor 2024.1

Secondo il bollettino di sicurezza di Foxit del 5 marzo 2024, le versioni Windows interessate includevano Foxit PDF Reader 2023.3.0.23028 e precedenti, e diverse linee di rilascio di Foxit PDF Editor fino alle versioni elencate nel bollettino.

Riepilogo tecnico

Le annotazioni PDF sono rappresentate come dizionari collegati alle pagine tramite l'array /Annots della pagina. Un lettore deve analizzare il dizionario dell'annotazione, risolvere valori diretti e indiretti, normalizzare i dati di geometria e aspetto, e collegare il risultato ai percorsi di rendering, selezione, modifica, JavaScript e accessibilità.

La classe di bug per CVE-2024-30350 è un fallimento di validazione dei limiti in quella pipeline di analisi delle annotazioni. Un oggetto annotazione malformato potrebbe indurre Foxit PDF Reader a fidarsi di una lunghezza derivata o di una forma dell'oggetto che non corrispondeva più al buffer sottostante. Nel percorso vulnerabile, il programma potrebbe leggere oltre il limite dell'oggetto allocato. La modalità di errore osservata era una violazione di accesso durante la gestione delle annotazioni; con la memoria disposta diversamente, lo stesso primitivo potrebbe esporre memoria adiacente del processo.

Il problema non era una vulnerabilità di rete attivabile con un clic. L'attaccante doveva convincere l'utente target ad aprire un documento appositamente creato o a raggiungere una pagina di distribuzione che causasse l'apertura del documento. Ciò si riflette nel requisito di interazione utente del CVSS.

Storia della scoperta

L'indagine originale è iniziata come un audit mirato di famiglie complesse di oggetti PDF, piuttosto che come un'esecuzione generale di fuzzing sul formato di file. La gestione delle annotazioni è stata scelta perché le annotazioni si trovano in una densa intersezione di logica del parser, comportamento dell'interfaccia utente, esposizione a JavaScript e aggiornamenti incrementali del documento.

Il corpus iniziale mescolava documenti ordinari con pagine sintetiche contenenti dizionari di annotazioni ad alta variabilità. Il generatore variava lunghezze di array, indirezione degli oggetti, valori null, tipi primitivi inattesi, riferimenti ricorsivi e combinazioni di stream di aspetto. I campioni più utili non erano completamente casuali. Erano sufficientemente consapevoli della grammatica da raggiungere il codice di normalizzazione delle annotazioni, ma comunque abbastanza malformati da testare le assunzioni nel parser nativo.

Il primo segnale è stato un crash che si riproduceva solo quando una pagina conteneva una specifica struttura di annotazione malformata e l'annotazione veniva forzata attraverso il percorso di gestione interattiva. L'apertura del documento era sufficiente per analizzare la pagina, ma la riproduzione affidabile migliorava quando la vista veniva aggiornata, la pagina veniva ingrandita, o l'albero delle annotazioni veniva toccato dal codice di selezione o rendering.

Il debug ha ristretto il problema a una lettura oltre la fine di un'allocazione heap durante l'elaborazione dell'oggetto annotazione. Il crash non assomigliava a un dereferenziamento null. L'istruzione fallita consumava memoria adiacente a un buffer correlato all'annotazione, e le relazioni di dimensione nel campione minimizzato suggerivano una discrepanza tra un conteggio logico analizzato e lo spazio di archiviazione reale disponibile per quell'oggetto.

Il campione è stato minimizzato rimuovendo ripetutamente oggetti PDF non correlati, risorse di pagina, font, metadati e stream fino a quando sono rimasti solo l'albero delle pagine, la pagina target e la struttura dell'annotazione. Il file ridotto preservava la stessa firma di crash, il che lo rendeva adatto alla divulgazione coordinata.

Dopo il triage, la scoperta è stata inviata tramite Zero Day Initiative. La data di segnalazione al fornitore nell'avviso pubblico è 2023-12-20. L'avviso coordinato è stato pubblicato il 2024-03-28, e Foxit ha risolto il problema nella linea di aggiornamento 2024.1.

Impatto

L'impatto diretto è la divulgazione di memoria dal processo di Foxit PDF Reader. Isolatamente, ciò di solito significa un impatto di riservatezza limitato. In una catena di exploit più completa, tuttavia, una lettura fuori dai limiti può essere preziosa per far trapelare contenuti dell'heap, puntatori a oggetti, layout di allocazione o altro stato del processo necessario per rendere affidabile una vulnerabilità separata di corruzione della memoria.

Questo spiega il basso punteggio CVSS autonomo pur rendendo comunque il problema significativo per il rafforzamento delle catene di exploit.

Note difensive

Gli utenti dovrebbero aggiornare Foxit PDF Reader e Foxit PDF Editor alle versioni corrette. Le organizzazioni che gestiscono PDF non attendibili dovrebbero anche mantenere abilitati Protected View, Safe Reading Mode, i controlli di reputazione dei file, il filtraggio degli allegati e le mitigazioni degli exploit a livello di endpoint.

Per gli sviluppatori di parser, la lezione principale è che i dizionari delle annotazioni dovrebbero essere trattati come input strutturato non attendibile anche quando il PDF circostante è sintatticamente valido. Lunghezze derivate, array normalizzati, oggetti indiretti risolti e rappresentazioni di oggetti in cache dovrebbero essere validati a ogni confine tra codice di parser, renderer, scripting e interfaccia utente.

Contenuti del repository

PercorsoScopo
README.mdPanoramica principale della vulnerabilità
docs/discovery-process.mdNarrazione end-to-end della ricerca
docs/advisory-notes.mdFatti e riferimenti dell'avviso pubblico
docs/triage-checklist.mdChecklist generale utilizzata per il triage dei crash dei lettori PDF

Riferimenti

  • https://www.zerodayinitiative.com/advisories/ZDI-24-333/
  • https://www.cve.org/CVERecord?id=CVE-2024-30350
  • https://nvd.nist.gov/vuln/detail/CVE-2024-30350
  • https://www.foxit.com/support/security-bulletins.html
Scarica lo strumento