Siamo lieti di presentare una serie di blog di analisi tecnica incentrati su varie vulnerabilità ed esposizioni comuni (CVE), identificate e corrette con le nostre tecnologie avanzate di rilevamento delle minacce.Tutte le ricerche sono svolte dagli studenti laureati che partecipano al programma OPSWAT Cybersecurity Fellowship, lanciato nel settembre 2023.
In questo blog spiegheremo la vulnerabilità di Foxit PDF Reader CVE- 2020-14425 e come le organizzazioni possono proteggersi dallo sfruttamento.
Foxit PDF Reader
Foxit PDF Reader è uno strumento PDF sviluppato da Foxit Software, che offre una serie di funzioni per la creazione, la visualizzazione, la modifica e la firma digitale di documenti PDF. La versione gratuita di Foxit Reader ha guadagnato popolarità ed è utilizzata da oltre 700 milioni di utenti.
Per migliorare le sue capacità e la sua flessibilità, Foxit PDF Reader supporta le estensioni JavaScript, offrendo agli utenti opzioni di personalizzazione; tuttavia, questo introduce anche un potenziale rischio per la sicurezza, rendendo il software un bersaglio per gli aggressori.
14425
Una vulnerabilità in Foxit PDF Reader prima della versione 10.0 consente agli aggressori di eseguire codice remoto sul dispositivo della vittima quando viene aperto un file PDF appositamente creato. Questa vulnerabilità è dovuta alla debolezza della funzione JavaScript app.opencPDFWebPage. Se Foxit Reader è configurato per utilizzare il browser predefinito per aprire gli URL incorporati nel file PDF, il codice dannoso incorporato nel file eseguibile può essere eseguito senza che venga emesso un avviso di sicurezza.
Un file PDF creato per sfruttare questa CVE può essere distribuito tramite una campagna di phishing via e-mail o collegamenti incorporati dannosi. Se l'utente apre il file PDF compromesso utilizzando la versione vulnerabile di Foxit Reader, l'aggressore potrebbe ottenere il controllo del dispositivo della vittima attraverso l'esecuzione di codice remoto.
Analisi CVE-2020-14425
I file PDF sono organizzati con una struttura ad albero, composta da una sezione di intestazione, una sezione di corpo, una tabella di riferimenti incrociati e una sezione di rimando.
- L'intestazione inizia con %PDF-1.x, che indica la versione del formato PDF. Attualmente, la versione del formato è compresa tra 1.0 e 1.7. La sezione dell'intestazione include anche i metadati del documento, come l'autore, la data di creazione e altre informazioni rilevanti.
- Il corpo comprende l'intero contenuto del file PDF, strutturato in oggetti come pagine, flussi di testo, font, moduli, codice JavaScript e altri elementi.
- La tabella dei riferimenti incrociati (tabella Xref) contiene il riferimento e l'offset in byte per tutti gli oggetti del file PDF. Consente di accedere rapidamente agli oggetti senza dover leggere l'intero file.
- Il trailer memorizza informazioni aggiuntive essenziali per la localizzazione della tabella xref, come il numero totale di voci della tabella xref e il puntatore al suo inizio.
Poiché il corpo contiene gli oggetti sensibili dei file PDF, gli attacchi si concentrano spesso sull'iniezione di codice dannoso in questo componente.
I file PDF sono diventati un bersaglio per gli aggressori a causa della loro ubiquità. Poiché i file PDF possono contenere codice JavaScript, possono essere utilizzati per eseguire vari attacchi quando vengono aperti da un browser, come Denial of Service (DoS), Open Redirect o Cross-Site Scripting (XSS).
Inoltre, gli aggressori possono utilizzare alcune tecniche sfruttabili come Use After Free (UAF) e Buffer Overflow (BoF). Possono anche sfruttare la gestione dei guasti del software per eseguire un attacco RCE (Remote Code Execution) sul sistema della vittima. Di conseguenza, un file PDF potrebbe contenere un ransomware, che cripta i dati sul computer e richiede un riscatto significativo per il recupero, oppure gli aggressori potrebbero ottenere il pieno controllo del computer della vittima.
In Foxit Reader, quando l'URL di una pagina web è incorporato, gli utenti hanno due opzioni di visualizzazione: visualizzare la pagina web all'interno di Foxit Reader o utilizzare il browser predefinito sul dispositivo dell'utente. Nella configurazione predefinita, Foxit Reader accede internamente alla pagina web incorporata. All'interno del contenuto del PDF, per richiedere l'apertura di una pagina web, Foxit Reader utilizza la funzione OpencPDFWebPage, un JavaScript API progettato per avviare l'apertura di un URL di pagina web incorporato nel PDF.
Tuttavia, in questo API esiste una vulnerabilità Improper Input Validation che consente agli aggressori di inserire un percorso di file locale nella funzione opencPDFWebPage. Di conseguenza, la funzione può aprire il file dannoso con il percorso allegato ed eseguire il file eseguibile. Questa falla consente agli aggressori di lanciare il payload memorizzato sul computer della vittima e di ottenere l'esecuzione di codice in modalità remota.
L'opzione di aprire la pagina web all'interno di Foxit Reader, un requisito per IE 10 o superiore, fa scattare un dialogo di avviso durante un tentativo di exploit, mentre se l'opzione è impostata per utilizzare il browser predefinito, bypassa l'avviso di sicurezza.
Sfruttamento delle vulnerabilità
Con la vulnerabilità identificata, un potenziale vettore di attacco prevede un attacco di phishing che utilizza il file PDF come caricatore per eseguire un payload allegato nascosto. In questo scenario, l'attore della minaccia invia un file ZIP contenente un file PDF e un file eseguibile nascosto alla vittima, con l'intento di ingannarla e convincerla ad aprire il documento. Il CVE di Foxit Reader consente quindi al codice JavaScript incorporato di eseguire il file eseguibile nascosto, stabilendo una connessione reverse shell al computer dell'aggressore.
Per iniettare codice JavaScript nel file PDF, l'aggressore può modificare direttamente il file di contenuto PDF o utilizzare strumenti come Foxit Phantom PDF. Il codice dannoso definisce il percorso del file dannoso ed esegue il codice dannoso utilizzando la funzione opencPDFWebPage.
Dopo aver preparato i file PDF dannosi, l'aggressore nasconde il file eseguibile e comprime la cartella in un file ZIP. Per eludere le protezioni di sicurezza dei programmi antivirus, l'aggressore può criptare il file ZIP con una password prima di inviarlo alla vittima.
Se la vittima estrae e apre il file PDF dannoso con la versione vulnerabile di Foxit Reader, il codice dannoso incorporato nel file eseguibile verrà eseguito, consentendo all'aggressore di compromettere il dispositivo della vittima attraverso una reverse shell.
Bonifica
La tecnologia Multiscanning di Metadefender Core rileva i file dannosi compressi con password, consentendo agli amministratori di identificare con precisione queste minacce. Grazie all'integrazione di oltre 30 motori antivirus, il tasso di rilevamento del malware supera il 99,99%. Inoltre, grazie alla tecnologia incorporata Deep CDR (Content Disarm and Reconstruction), Metadefender Core è in grado di rimuovere efficacemente il codice JavaScript potenzialmente dannoso e di rigenerare file sanificati e sicuri da usare.
Inoltre, MetaDefender Endpoint è in grado di riconoscere le versioni vulnerabili delle applicazioni e di aggiornarle automaticamente alle patch più recenti, migliorando la sicurezza degli endpoint contro potenziali minacce future.