Kerentanan dalam OpenOffice yang membenarkan pelaksanaan kod semasa membuka fail

Kerentanan (CVE-2021-33035) telah dikenal pasti dalam suite pejabat Apache OpenOffice yang membenarkan pelaksanaan kod apabila membuka fail yang direka khas dalam format DBF. Penyelidik yang menemui masalah itu memberi amaran tentang mencipta eksploitasi yang berfungsi untuk platform Windows. Pembetulan kerentanan pada masa ini hanya tersedia dalam bentuk tampalan dalam repositori projek, yang disertakan dalam binaan ujian OpenOffice 4.1.11. Tiada kemas kini untuk cawangan stabil lagi.

Masalahnya disebabkan oleh OpenOffice bergantung pada nilai fieldLength dan fieldType dalam pengepala fail DBF untuk memperuntukkan memori, tanpa menyemak sama ada jenis data sebenar dalam medan sepadan. Untuk menjalankan serangan, anda boleh menentukan jenis INTEGER dalam nilai fieldType, tetapi letakkan data yang lebih besar dan tentukan nilai FieldLength yang tidak sepadan dengan saiz data dengan jenis INTEGER, yang akan membawa kepada ekor data. daripada medan yang ditulis di luar penimbal yang diperuntukkan. Hasil daripada limpahan penimbal terkawal, penyelidik dapat mentakrifkan semula penunjuk pulangan daripada fungsi dan, menggunakan teknik Pengaturcaraan Berorientasikan Kembali (ROP), mencapai pelaksanaan kodnya.

Apabila menggunakan teknik ROP, penyerang tidak cuba meletakkan kodnya dalam ingatan, tetapi beroperasi pada kepingan arahan mesin yang sudah tersedia dalam perpustakaan yang dimuatkan, berakhir dengan arahan pemulangan kawalan (sebagai peraturan, ini adalah penghujung fungsi perpustakaan) . Kerja eksploitasi datang kepada membina rangkaian panggilan ke blok serupa (β€œalat”) untuk mendapatkan kefungsian yang diingini. Alat yang digunakan dalam eksploitasi OpenOffice ialah kod daripada perpustakaan libxml2 yang digunakan dalam OpenOffice, yang, tidak seperti OpenOffice sendiri, disusun tanpa mekanisme perlindungan DEP (Data Execution Prevention) dan ASLR (Address Space Layout Randomization).

Pembangun OpenOffice telah dimaklumkan mengenai isu itu pada 4 Mei, selepas itu pendedahan awam tentang kelemahan itu dijadualkan pada 30 Ogos. Memandangkan kemas kini kepada cawangan stabil tidak selesai pada tarikh yang dijadualkan, penyelidik menangguhkan pendedahan butiran kepada 18 September, tetapi pembangun OpenOffice tidak berjaya mencipta keluaran 4.1.11 pada tarikh ini. Perlu diperhatikan bahawa semasa penyelidikan yang sama, kelemahan serupa telah dikenal pasti dalam kod sokongan format DBF dalam Microsoft Office Access (CVE-2021–38646), yang butirannya akan didedahkan kemudian. Tiada masalah ditemui dalam LibreOffice.

Sumber: opennet.ru

Tambah komen