Kami dengan antusias memperkenalkan serangkaian artikel blog analisis teknis yang berfokus pada berbagai Kerentanan dan Paparan Umum (Common Vulnerabilities and Exposures atau CVE), yang telah diidentifikasi dan ditangani menggunakan teknologi deteksi ancaman canggih kami. Seluruh penelitian ini dilakukan oleh para mahasiswa pascasarjana yang berpartisipasi dalam program Beasiswa Keamanan Siber “ OPSWAT ” yang diluncurkan pada September 2023.
Dalam blog ini, kami akan menjelaskan kerentanan Foxit PDF Reader CVE-2020-14425 serta cara-cara yang dapat dilakukan organisasi untuk melindungi diri dari eksploitasi.

Foxit PDF Reader
Foxit PDF Reader adalah aplikasi PDF yang dikembangkan oleh Foxit Software, yang menyediakan berbagai fitur untuk membuat, melihat, mengedit, dan menandatangani secara digital dokumen PDF. Versi gratis Foxit Reader telah menjadi populer dan digunakan oleh lebih dari 700 juta pengguna.
Untuk meningkatkan kemampuan dan fleksibilitasnya, Foxit PDF Reader mendukung ekstensi JavaScript, yang menawarkan opsi penyesuaian kepada pengguna; namun, hal ini juga menimbulkan potensi risiko keamanan, sehingga menjadikan perangkat lunak tersebut sebagai sasaran para penyerang.

CVE-2020-14425
Sebuah kerentanan pada Foxit PDF Reader versi sebelum 10.0 memungkinkan penyerang untuk menjalankan kode jarak jauh di perangkat korban saat berkas PDF yang dirancang khusus dibuka. Kerentanan ini terjadi akibat kelemahan keamanan pada fungsi JavaScript `app.opencPDFWebPage`. Jika Foxit Reader dikonfigurasi untuk menggunakan peramban default guna membuka URL yang tertanam dalam berkas PDF, kode berbahaya yang tertanam di dalam berkas yang dapat dieksekusi tersebut dapat dijalankan tanpa memunculkan kotak dialog peringatan keamanan.
Sebuah berkas PDF yang dirancang untuk memanfaatkan kerentanan CVE ini dapat disebarkan melalui kampanye phishing melalui email atau tautan berbahaya yang disematkan. Jika pengguna membuka berkas PDF yang telah disusupi tersebut menggunakan versi Foxit Reader yang rentan, penyerang dapat mengendalikan perangkat korban melalui eksekusi kode jarak jauh.

Analisis CVE-2020-14425
Berkas PDF disusun menggunakan struktur berbasis pohon, yang terdiri dari bagian header, bagian isi, tabel referensi silang, dan bagian trailer.
- Bagian header diawali dengan %PDF-1.x, yang menunjukkan versi format PDF. Saat ini, versi format tersebut berkisar antara 1.0 hingga 1.7. Bagian header juga memuat metadata dokumen, seperti nama penulis, tanggal pembuatan, dan informasi relevan lainnya.
- Bagian isi mencakup seluruh isi berkas PDF, yang disusun ke dalam objek-objek seperti halaman, aliran teks, font, formulir, kode JavaScript, dan elemen-elemen lainnya.
- Tabel referensi silang (tabel Xref) menyimpan referensi dan offset byte untuk semua objek dalam berkas PDF. Tabel ini memungkinkan akses cepat ke objek-objek tersebut tanpa perlu membaca seluruh berkas.
- Trailer menyimpan informasi tambahan yang penting untuk menemukan tabel xref, seperti jumlah total entri dalam tabel xref dan penunjuk ke awal tabel tersebut.

Karena komponen tersebut berisi elemen-elemen sensitif dari berkas PDF, serangan sering kali berfokus pada penyisipan kode berbahaya ke dalam komponen ini.
File PDF telah menjadi sasaran para penyerang karena sangat umum digunakan. Karena file PDF dapat berisi kode JavaScript, file tersebut dapat dimanfaatkan untuk melancarkan berbagai serangan saat dibuka oleh peramban, seperti Denial of Service (DoS), Open Redirect, atau Cross-Site Scripting (XSS).
Selain itu, penyerang mungkin menggunakan beberapa teknik yang dapat dieksploitasi, seperti Use After Free (UAF) dan Buffer Overflow (BoF). Mereka juga mungkin memanfaatkan kelemahan dalam penanganan kegagalan perangkat lunak untuk melancarkan serangan Eksekusi Kode Jarak Jauh (RCE) pada sistem korban. Akibatnya, berkas PDF dapat mengandung ransomware yang mengenkripsi data di perangkat tersebut dan menuntut tebusan dalam jumlah besar untuk pemulihannya, atau penyerang dapat memperoleh kendali penuh atas perangkat korban.
Di Foxit Reader, ketika URL halaman web disematkan, pengguna memiliki dua opsi tampilan: menampilkan halaman web tersebut di dalam Foxit Reader atau menggunakan peramban bawaan pada perangkat pengguna. Dalam konfigurasi default, Foxit Reader mengakses halaman web yang disematkan secara internal. Di dalam konten PDF, untuk meminta pembukaan halaman web, Foxit Reader menggunakan fungsi OpencPDFWebPage, sebuah API JavaScript yang dirancang untuk memulai pembukaan URL halaman web yang disematkan dalam PDF.

Namun, terdapat kerentanan validasi masukan yang tidak tepat pada API ini, yang memungkinkan penyerang memasukkan jalur file lokal ke dalam fungsi `opencPDFWebPage`. Akibatnya, fungsi tersebut dapat membuka file berbahaya dengan jalur yang disertakan dan menjalankan file yang dapat dieksekusi tersebut. Kerentanan ini memungkinkan penyerang untuk menjalankan muatan yang disimpan di mesin korban dan memperoleh kemampuan eksekusi kode jarak jauh.
Opsi untuk membuka halaman web di dalam Foxit Reader—yang merupakan persyaratan untuk IE 10 atau versi yang lebih baru—akan memunculkan kotak dialog peringatan saat terjadi upaya eksploitasi, sedangkan jika opsi tersebut diatur untuk menggunakan browser default, peringatan keamanan tersebut akan dilewati.

Pemanfaatan Kerentanan

Dengan adanya kerentanan yang telah teridentifikasi, salah satu vektor serangan potensial melibatkan serangan phishing yang memanfaatkan berkas PDF sebagai loader untuk menjalankan muatan tersembunyi yang terlampir. Dalam skenario ini, pelaku ancaman mengirimkan berkas ZIP yang berisi berkas PDF dan berkas eksekusi tersembunyi kepada korban, dengan tujuan menipu korban agar membuka dokumen tersebut. Kerentanan CVE pada Foxit Reader kemudian memungkinkan kode JavaScript yang tertanam untuk menjalankan berkas eksekusi tersembunyi tersebut, sehingga membentuk koneksi reverse shell ke mesin penyerang.
Untuk menyisipkan kode JavaScript ke dalam berkas PDF, penyerang dapat secara langsung mengubah isi berkas PDF tersebut atau menggunakan alat seperti Foxit Phantom PDF. Kode berbahaya tersebut menentukan jalur berkas berbahaya dan menjalankan kode berbahaya tersebut menggunakan fungsi opencPDFWebPage.


Setelah menyiapkan berkas PDF berbahaya, penyerang menyembunyikan berkas yang dapat dieksekusi dan mengompres folder tersebut menjadi berkas ZIP. Untuk menghindari sistem perlindungan program antivirus, penyerang mungkin mengenkripsi berkas ZIP tersebut dengan kata sandi sebelum mengirimkannya kepada korban.

Jika korban mengekstrak dan membuka berkas PDF berbahaya tersebut menggunakan versi Foxit Reader yang rentan, kode berbahaya yang tertanam di dalam berkas yang dapat dieksekusi tersebut akan dijalankan, sehingga memungkinkan penyerang untuk menguasai perangkat korban melalui reverse shell.

Remediasi
Teknologi " Multiscanning " di Metadefender Core mampu mendeteksi file berbahaya yang dikompresi dengan kata sandi, sehingga memungkinkan administrator untuk mengidentifikasi ancaman-ancaman ini secara akurat. Dengan integrasi lebih dari 30 mesin antivirus, tingkat deteksi malware mencapai lebih dari 99,99%. Selain itu, berkat teknologi Deep CDR™ (Content Disarm and Reconstruction) yang tertanam, Metadefender Core dapat secara efektif menghapus kode JavaScript yang berpotensi berbahaya dan menghasilkan kembali file yang telah dibersihkan serta aman untuk digunakan.




Selain itu, MetaDefender Endpoint dapat mendeteksi versi aplikasi yang rentan dan secara otomatis memperbarui ke patch terbaru, sehingga meningkatkan keamanan titik akhir terhadap ancaman potensial di masa mendatang.
