Suntem încântați să vă prezentăm o serie de bloguri de analiză tehnică care se concentrează pe diverse vulnerabilități și expuneri comune (CVE), identificate și remediate cu ajutorul tehnologiilor noastre avansate de detectare a amenințărilor.Toate cercetările sunt realizate de către studenții absolvenți care participă la programul de burse de securitate cibernetică OPSWAT , lansat în septembrie 2023.
În acest blog, vom explica vulnerabilitatea Foxit PDF Reader CVE- 2020-14425 și modul în care organizațiile se pot proteja împotriva exploatării acesteia.
Foxit PDF Reader
Foxit PDF Reader este un instrument PDF dezvoltat de Foxit Software, care oferă o gamă largă de funcții pentru crearea, vizualizarea, editarea și semnarea digitală a documentelor PDF. Versiunea gratuită a Foxit Reader a câștigat popularitate și este utilizată de peste 700 de milioane de utilizatori.
Pentru a-și spori capacitățile și flexibilitatea, Foxit PDF Reader suportă extensii JavaScript, oferind utilizatorilor opțiuni de personalizare; cu toate acestea, acest lucru introduce, de asemenea, un potențial risc de securitate, făcând din acest software o țintă pentru atacatori.
14425
O vulnerabilitate în Foxit PDF Reader înainte de versiunea 10.0 permite atacatorilor să execute cod de la distanță pe dispozitivul victimei atunci când este deschis un fișier PDF special creat. Această vulnerabilitate a apărut din cauza slăbiciunii de securitate a funcției JavaScript app.opencPDFWebPage. Dacă Foxit Reader este configurat să utilizeze browserul implicit pentru a deschide URL-uri încorporate în fișierul PDF, codul malițios încorporat în fișierul executabil se poate executa fără a declanșa un dialog de avertizare de securitate.
Un fișier PDF creat pentru a exploata acest CVE poate fi distribuit prin intermediul unei campanii de phishing prin e-mail sau prin intermediul unor link-uri integrate malițioase. Dacă utilizatorul deschide fișierul PDF compromis utilizând versiunea vulnerabilă a Foxit Reader, atacatorul poate obține controlul asupra dispozitivului victimei prin executarea de la distanță a codului.
Analiza CVE-2020-14425
Fișierele PDF sunt organizate folosind o structură arborescentă, constând dintr-o secțiune de antet, o secțiune de corp, un tabel de referințe încrucișate și o secțiune de final.
- Antetul începe cu %PDF-1.x, indicând versiunea formatului PDF. În prezent, versiunea formatului variază între 1.0 și 1.7. Secțiunea de antet include, de asemenea, metadatele documentului, cum ar fi autorul, data de creare și alte informații relevante.
- Corpul cuprinde întregul conținut al fișierului PDF, structurat în obiecte precum pagini, fluxuri de text, fonturi, formulare, cod JavaScript și alte elemente.
- Tabelul de referințe încrucișate (tabelul Xref) conține referința și decalajul de octeți pentru toate obiectele din fișierul PDF. Acesta permite accesul rapid la obiecte fără a fi nevoie să citiți întregul fișier.
- Remorca stochează informații suplimentare esențiale pentru localizarea tabelului xref, cum ar fi numărul total de intrări din tabelul xref și pointerul la începutul acestuia.
Deoarece corpul conține obiectele sensibile ale fișierelor PDF, atacurile se concentrează adesea pe injectarea de cod malițios în această componentă.
Fișierele PDF au devenit o țintă pentru atacatori din cauza omniprezenței lor. Deoarece fișierele PDF pot conține cod JavaScript, acestea pot fi folosite pentru a executa diverse atacuri atunci când sunt deschise de un browser, cum ar fi Denial of Service (DoS), Open Redirect sau Cross-Site Scripting (XSS).
În plus, atacatorii pot utiliza unele tehnici exploatabile, cum ar fi Use After Free (UAF) și Buffer Overflow (BoF). Aceștia pot exploata, de asemenea, gestionarea defecțiunilor software pentru a executa un atac de tip RCE (Remote Code Execution) asupra sistemului victimei. Ca urmare, un fișier PDF ar putea conține ransomware, criptarea datelor de pe mașină și solicitarea unei răscumpărări semnificative pentru recuperare, sau atacatorii ar putea obține controlul total asupra mașinii victimei.
În Foxit Reader, atunci când un URL de pagină web este încorporat, utilizatorii au două opțiuni de vizualizare: afișarea paginii web în Foxit Reader sau utilizarea browserului implicit de pe dispozitivul utilizatorului. În configurația implicită, Foxit Reader accesează intern pagina web încorporată. În cadrul conținutului PDF, pentru a solicita deschiderea unei pagini web, Foxit Reader utilizează funcția OpencPDFWebPage, un JavaScript API conceput pentru a iniția deschiderea unui URL de pagină web încorporat în PDF.
Cu toate acestea, există o vulnerabilitate de validare necorespunzătoare a intrărilor în acest API, care permite atacatorilor să introducă o cale de fișier local în funcția opencPDFWebPage. În consecință, funcția poate deschide fișierul malițios cu calea atașată și poate executa acest fișier executabil. Acest defect permite atacatorilor să lanseze sarcina utilă stocată pe calculatorul victimei și să obțină executarea de la distanță a codului.
Opțiunea de a deschide pagina web în Foxit Reader, o cerință pentru IE 10 sau o versiune mai recentă, declanșează un dialog de avertizare în timpul unei încercări de exploatare, în timp ce dacă opțiunea este setată pentru a utiliza browserul implicit, se ocolește avertismentul de securitate.
Exploatarea vulnerabilităților
Având în vedere vulnerabilitatea identificată, un potențial vector de atac implică un atac de phishing care utilizează fișierul PDF ca încărcător pentru a executa o sarcină utilă atașată ascunsă. În acest scenariu, agentul de amenințare trimite victimei un fișier ZIP care conține un fișier PDF și un fișier executabil ascuns, cu intenția de a o păcăli să deschidă documentul. CVE-ul din Foxit Reader permite apoi codului JavaScript încorporat să ruleze fișierul executabil ascuns, stabilind o conexiune de tip reverse shell la calculatorul atacatorului.
Pentru a injecta codul JavaScript în fișierul PDF, atacatorul poate modifica direct fișierul de conținut PDF sau poate utiliza instrumente precum Foxit Phantom PDF. Codul malițios definește calea fișierului malițios și execută codul dăunător utilizând funcția opencPDFWebPage.
După ce pregătește fișierele PDF malițioase, atacatorul ascunde fișierul executabil și comprimă dosarul într-un fișier ZIP. Pentru a eluda protecțiile de securitate ale programelor antivirus, atacatorul poate cripta fișierul ZIP cu o parolă înainte de a-l trimite victimei.
Dacă victima extrage și deschide fișierul PDF malițios cu versiunea vulnerabilă a Foxit Reader, codul malițios încorporat în fișierul executabil va fi executat, permițând atacatorului să compromită dispozitivul victimei prin intermediul unui shell inversat.
Remediere
Tehnologia Multiscanning din Metadefender Core detectează fișierele malițioase comprimate cu parole, permițând administratorilor să identifice cu acuratețe aceste amenințări. Cu integrarea a peste 30 de motoare antivirus combinate, rata de detectare a programelor malware atinge peste 99,99%. În plus, cu ajutorul tehnologiei integrate Deep CDR (Content Disarm and Reconstruction), Metadefender Core poate elimina în mod eficient codul JavaScript potențial malițios și poate regenera fișiere igienizate, sigure pentru utilizare.
În plus, MetaDefender Endpoint poate recunoaște versiunile vulnerabile ale aplicațiilor și le poate actualiza automat cu cele mai recente patch-uri, sporind astfel securitatea endpoint-ului împotriva potențialelor amenințări viitoare.