Pemuat dinamik , yang merupakan sebahagian daripada OpenBSD, boleh, dalam keadaan tertentu, - aplikasi meninggalkan pembolehubah persekitaran LD_LIBRARY_PATH, sekali gus membenarkan kod pihak ketiga dimuatkan dalam konteks proses yang berjalan dengan keistimewaan yang tinggi. Tampalan yang membetulkan kerentanan tersedia untuk keluaran. и . Tompok binari () untuk platform amd64, i386 dan arm64 telah pun memasuki pengeluaran dan sepatutnya tersedia untuk dimuat turun pada masa berita ini diterbitkan.
Masalahnya ialah ld.so mula-mula mendapatkan semula pembolehubah LD_LIBRARY_PATH daripada persekitaran dan menggunakan fungsi _dl_split_path() untuk menukarnya kepada tatasusunan rentetan—laluan direktori. Jika kemudian ternyata proses semasa telah dilancarkan oleh aplikasi SUID/SGID, tatasusunan yang dibuat dan pembolehubah LD_LIBRARY_PATH itu sendiri akan dikosongkan. Tambahan pula, jika _dl_split_path() menemui kehabisan memori (yang sukar disebabkan oleh had 256 KB yang jelas pada saiz pembolehubah persekitaran, tetapi secara teorinya mungkin), pembolehubah _dl_libpath akan ditetapkan kepada NULL dan semakan seterusnya untuk nilai pembolehubah ini akan menyebabkan panggilan _dl_LD_LIBRARY("LD_UNsetenv".
Kerentanan itu ditemui oleh pakar. , sama seperti Penyelidik keselamatan yang mengenal pasti kelemahan mencatatkan kelajuan masalah itu diselesaikan: tampalan telah disediakan dan kemas kini dikeluarkan dalam masa tiga jam selepas projek OpenBSD menerima pemberitahuan.
Tambahan: Masalah telah diberikan nombor . Senarai mel oss-security telah dikemas kini. , yang merangkumi eksploitasi prototaip yang berfungsi pada seni bina OpenBSD 6.6, 6.5, 6.2 dan 6.1.
amd64 dan i386 (eksploit boleh disesuaikan untuk seni bina lain).
Kerentanan boleh dieksploitasi dalam pemasangan lalai dan membenarkan pengguna tempatan yang tidak mempunyai hak untuk melaksanakan kod dengan keistimewaan root melalui penggantian perpustakaan apabila menjalankan utiliti suid chpass atau passwd. Untuk mencipta keadaan memori rendah yang diperlukan untuk eksploitasi, had RLIMIT_DATA ditetapkan melalui setrlimit.
Sumber: opennet.ru
