Kerentanan di OpenOffice yang memungkinkan eksekusi kode saat membuka file

Kerentanan (CVE-2021-33035) telah diidentifikasi di suite kantor Apache OpenOffice yang memungkinkan eksekusi kode saat membuka file yang dirancang khusus dalam format DBF. Peneliti yang menemukan masalah tersebut memperingatkan tentang pembuatan eksploitasi yang berfungsi untuk platform Windows. Perbaikan kerentanan saat ini hanya tersedia dalam bentuk tambalan di repositori proyek, yang disertakan dalam uji coba OpenOffice 4.1.11. Belum ada pembaruan untuk cabang stabil.

Masalah ini disebabkan oleh OpenOffice yang mengandalkan nilai fieldLength dan fieldType di header file DBF untuk mengalokasikan memori, tanpa memeriksa apakah tipe data sebenarnya di kolom tersebut cocok. Untuk melakukan serangan, Anda dapat menentukan tipe INTEGER pada nilai fieldType, tetapi menempatkan data yang lebih besar dan menentukan nilai fieldLength yang tidak sesuai dengan ukuran data dengan tipe INTEGER, yang akan mengarah ke ekor data dari bidang yang ditulis di luar buffer yang dialokasikan. Sebagai hasil dari buffer overflow yang terkontrol, peneliti dapat mendefinisikan kembali pointer kembali dari fungsi dan, dengan menggunakan teknik Return-Oriented Programming (ROP), mencapai eksekusi kodenya.

Saat menggunakan teknik ROP, penyerang tidak mencoba menempatkan kodenya di memori, tetapi beroperasi pada bagian instruksi mesin yang sudah tersedia di perpustakaan yang dimuat, diakhiri dengan instruksi pengembalian kontrol (sebagai aturan, ini adalah akhir dari fungsi perpustakaan) . Pekerjaan eksploitasi adalah membangun rantai panggilan ke blok serupa (β€œgadget”) untuk mendapatkan fungsionalitas yang diinginkan. Gadget yang digunakan dalam eksploitasi OpenOffice adalah kode dari perpustakaan libxml2 yang digunakan di OpenOffice, yang, tidak seperti OpenOffice itu sendiri, dikompilasi tanpa mekanisme perlindungan DEP (Data Execution Prevention) dan ASLR (Address Space Layout Randomization).

Pengembang OpenOffice diberitahu tentang masalah ini pada tanggal 4 Mei, setelah itu pengungkapan kerentanan kepada publik dijadwalkan pada tanggal 30 Agustus. Karena pembaruan ke cabang stabil tidak selesai pada tanggal yang dijadwalkan, peneliti menunda pengungkapan rinciannya hingga 18 September, namun pengembang OpenOffice tidak berhasil membuat rilis 4.1.11 pada tanggal tersebut. Patut dicatat bahwa selama penelitian yang sama, kerentanan serupa diidentifikasi dalam kode dukungan format DBF di Microsoft Office Access (CVE-2021–38646), yang rinciannya akan diungkapkan nanti. Tidak ada masalah yang ditemukan di LibreOffice.

Sumber: opennet.ru

Tambah komentar