Keamanan cyber (terbuka di tab baru) peneliti telah menemukan kerentanan eksekusi kode jarak jauh (RCE) di Apache OpenOffice (AOO) (terbuka di tab baru)yang dapat disalahgunakan melalui file jahat untuk dieksekusi malware (terbuka di tab baru) pada mesin.
Kerentanan yang dilacak sebagai CVE-2021-33035 disorot oleh Eugene Lim di konferensi online HackerOne, yang baru saja memulai penelitian kerentanan.
AOO tidak digunakan secara luas seperti yang lainnya sumber terbuka (terbuka di tab baru) garpu, LibreOffice (terbuka di tab baru), dan rilis resmi terakhirnya pada bulan Mei. Namun, office suite telah mencatat ratusan juta unduhan, membuat hampir semua pengguna rentan.
Menariknya, meskipun kode sumber aplikasi telah ditambal, Pendaftaran melaporkan bahwa perbaikan hanya tersedia sebagai perangkat lunak beta.
“Kami berusaha untuk meluncurkan rilis untuk Apache OpenOffice 4.1.11 dalam sebulan, semoga lebih cepat, dan menerbitkan CVE-2021-33035 sebelum rilis,” kata Dave Fisher, atas nama AOO Project Management Committee (PMC), di pernyataan ke Pendaftaran.
Melarikan diri dari pengawasan
Alih-alih berfokus pada perangkat lunak tertentu, Lim disarankan untuk mengarahkan perhatiannya pada format file. Pencarian cepat membawanya ke format file database dBase (DBF), yang dibuat lebih dari empat dekade lalu, tetapi masih digunakan sebagai mekanisme penyimpanan data oleh aplikasi modern seperti Microsoft Office, LibreOffice, dan AOO.
Di sebuah blog teknis (terbuka di tab baru) berbagi detail tentang kerentanan, Lim menjelaskan bagaimana dia dapat menemukan bug RCE di DBF tanpa terlalu banyak usaha.
“Ini menimbulkan pertanyaan: mengapa tidak ada yang menemukan bug ini sebelumnya? Sebagai program sumber terbuka, OpenOffice tidak diragukan lagi akan dipindai secara otomatis oleh berbagai penganalisa kode statis, yang akan dengan mudah mengambil memcpy yang tidak aman,” tulis Lim.
Sebuah penelitian kecil membawanya ke platform analisis kode yang menjalankan tes pada proyek sumber terbuka, yang menandai AOO sebagai a Piton (terbuka di tab baru) dan JavaScript (terbuka di tab baru) proyek, dan bukan sebagai C++, yang menyebabkan pemindai kehilangan kerentanan.
“Ini menunjukkan pentingnya alat analisis statis otomatis yang memeriksa kewarasan; jika alat Anda tidak mengetahui keberadaan kode, alat tersebut tidak dapat menemukan kerentanan tersebut,” jelas Lim.
Melalui Pendaftaran (terbuka di tab baru)