Baru-baru ini maklumat mengenai kerentanan dikeluarkan (CVE-2018 16858-) yang suite pejabat LibreOffice dan Apache OpenOffice yang terjejas di mana ia mengambil kesempatan bahawa eIni memungkinkan untuk melaksanakan kod dalam sistem ketika membuka dokumen yang dikeluarkan secara khusus dalam format ODT.
Penemuan sIa dilakukan pada Windows, walaupun eksploitasi ini juga mempengaruhi Linux, orang yang melaporkan kerentanan ini menyedari bahawa suite ini sesuai dengan skrip dan Basic, BeanShell, Java, JavaScript dan Python serasi.
Berdasarkan kerentanan ini?
Penting untuk disebutkan bahawa walaupun itu adalah masalah yang dikesan sejak tahun lalu, serta penyelesaiannya dilaksanakan hanya dalam dua minggu.
Atas sebab prosedur kepada orang yang mengesan ini (anda boleh menyemak penerbitannya di sini) dia diarahkan untuk membuat laporan tersebut sehingga baru-baru ini.
Masalahnya adalah kerana kekurangan pemeriksaan yang diperlukan dalam kod pemprosesan makro yang disertakan dalam dokumen, yang boleh dicetuskan oleh pelbagai peristiwa, seperti tetikus yang menunjuk ke elemen.
Dengan menggunakan watak "../" di jalan ke pengawal, penyerang boleh melangkaui direktori asas dengan skrip (/ share / Scripts / python dan / user / Scripts / python) dan laksanakan fungsi sewenang-wenangnya dari skrip Python yang ada ketika suatu peristiwa berlaku.
Seorang penyerang memanfaatkan ini dan untuk melaksanakan kod anda, ia menggunakan fungsi skrip pydoc.py terdapat dalam sebilangan besar pengedaran (juga termasuk dalam pakej LibreOffice for Windows - python-core-3.5.5 \ lib \ pydoc.py).
Ini menentukan fungsi tempfilepager()
yang mengurus menjalankan sebarang fail yang dapat dilaksanakan dengan argumen sewenang-wenangnya dengan memanggil fungsi tersebut os.system()
.
Sebagai contoh, untuk menjalankan kalkulator semasa anda menatal pautan ke kawasan tertentu dalam dokumen, sambungkan skrip sahaja vnd.sun.star.script:../../lib/python3.5/pydoc.py$
ke pengendali acara "dom: mouseover" hanya sambungkan skrip ke "vnd.sun.star.script:../../lib/python3.5/pydoc.py$tempfilepager(1, gnome-calculator )?language=Python&location=share
".
Kita dapat melihatnya dalam video berikut:
Kerentanan dikesan dan dilaporkan tahun lalu dan ia dihapus dalam versi LibreOffice 6.0.7 dan 6.1.3.
manakala dalam versi terkini Apache OpenOffice 4.1.6, masalahnyaa ia kekal Tidak betul.
Sudah ada jalan penyelesaiannya
Sebagai penyelesaian untuk menyekat kerentanan di OpenOffice, anda disyorkan untuk menghapus fail pythonscript.py dari direktori aplikasi yang boleh didapati di jalan berikut "/opt/openoffice4/program/pythonscript.py
".
Selain itu masalahnya belum diperbaiki pada Debian Jessie, Ubuntu 16.04, SUSE dan openSUSE.
Sebaliknya RHEL, CentOS serta Ubuntu 18.04 dan Ubuntu 18.10 tidak terjejas oleh masalah ini.
Dalam OpenOffice dan LibreOffice hingga dan termasuk versi 6.0, eksploitasi kerentanan terbatas pada pelaksanaan skrip Python tempatan wujud kerana kurangnya sokongan untuk menyampaikan argumen ke fungsi yang dipanggil dari makro.
Untuk menyerang OpenOffice dan LibreOffice versi sebelumnya, penyerang mesti mengamankan lokasi skrip Python anda, misalnya dengan menyebarkannya dalam fail ZIP bersama dengan dokumen ODT.
Apabila LibreOffice 6.1.x menyerang, anda boleh menggunakan skrip sistem pydoc.py untuk melaksanakan fail sewenang-wenangnya dengan parameter apa pun.
Selain itu, kemungkinan vektor serangan disebut melalui pakej ImageMagick, yang digunakan LibreOffice untuk menukar jenis fail tertentu.
Serangan ini diturunkan melalui pengendali gambar berdasarkan ImageMagick berbahaya kerana dokumen kerentanan boleh dihantar sebagai fail JPEG atau PNG dengan fail ODT dan bukannya gambar (fail seperti itu akan diproses kerana jenis MIME dikenali oleh kandungannya, bukannya mempercayai).
Secara teori, masalahnya juga boleh mempengaruhi pencipta gambar kecil automatik untuk pengindeks desktop dan fail jika mereka menggunakan LibreOffice untuk menganalisis dokumen.
Dalam kes ini, untuk serangan mungkin cukup untuk memuatkan dokumen dengan eksploitasi atau menavigasi direktori dengannya di Nautilus.
Juga penting untuk melihat bahawa mereka masih mencari cara untuk mencari kelemahan melalui penggunaan ImageMagick yang berbeza.