Kerentanan dalam subsistem iSCSI dari kernel Linux yang memungkinkan Anda meningkatkan hak istimewa Anda

Kerentanan (CVE-2021-27365) telah diidentifikasi dalam kode subsistem iSCSI dari kernel Linux, yang memungkinkan pengguna lokal yang tidak memiliki hak istimewa untuk mengeksekusi kode di tingkat kernel dan mendapatkan hak akses root dalam sistem. Prototipe eksploitasi yang berfungsi tersedia untuk pengujian. Kerentanan telah diatasi dalam pembaruan kernel Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260, dan 4.4.260. Pembaruan paket kernel tersedia di distribusi Debian, Ubuntu, SUSE/openSUSE, Arch Linux dan Fedora. Belum ada perbaikan yang dirilis untuk RHEL.

Masalah ini disebabkan oleh kesalahan pada fungsi iscsi_host_get_param() dari modul libiscsi, yang diperkenalkan pada tahun 2006 selama pengembangan subsistem iSCSI. Karena kurangnya pemeriksaan ukuran yang tepat, beberapa atribut string iSCSI, seperti nama host atau nama pengguna, mungkin melebihi nilai PAGE_SIZE (4 KB). Kerentanan dapat dieksploitasi oleh pengguna yang tidak memiliki hak istimewa yang mengirimkan pesan Netlink yang menyetel atribut iSCSI ke nilai yang lebih besar dari PAGE_SIZE. Ketika atribut ini dibaca melalui sysfs atau seqfs, kode dipanggil yang meneruskan atribut ke fungsi sprintf untuk disalin ke buffer yang ukurannya PAGE_SIZE.

Eksploitasi kerentanan dalam distribusi bergantung pada dukungan untuk pemuatan otomatis modul kernel scsi_transport_iscsi ketika mencoba membuat soket NETLINK_ISCSI. Dalam distribusi di mana modul ini dimuat secara otomatis, serangan dapat dilakukan terlepas dari penggunaan fungsionalitas iSCSI. Pada saat yang sama, agar eksploitasi berhasil, pendaftaran setidaknya satu transport iSCSI juga diperlukan. Pada gilirannya, untuk mendaftarkan transport, Anda dapat menggunakan modul kernel ib_iser, yang dimuat secara otomatis ketika pengguna yang tidak memiliki hak istimewa mencoba membuat soket NETLINK_RDMA.

Pemuatan otomatis modul yang diperlukan untuk aplikasi eksploitasi didukung di CentOS 8, RHEL 8 dan Fedora ketika menginstal paket rdma-core pada sistem, yang merupakan ketergantungan untuk beberapa paket populer dan diinstal secara default dalam konfigurasi untuk workstation, sistem server dengan Virtualisasi lingkungan GUI dan host. Namun, rdma-core tidak diinstal saat menggunakan rakitan server yang hanya berfungsi dalam mode konsol dan saat memasang gambar instalasi minimal. Misalnya, paket tersebut disertakan dalam distribusi dasar Workstation Fedora 31, namun tidak disertakan dalam Server Fedora 31. Debian dan Ubuntu tidak terlalu rentan terhadap masalah ini karena paket rdma-core memuat modul kernel yang diperlukan untuk serangan hanya jika perangkat keras RDMA tersedia.

Kerentanan dalam subsistem iSCSI dari kernel Linux yang memungkinkan Anda meningkatkan hak istimewa Anda

Sebagai solusi keamanan, Anda dapat menonaktifkan pemuatan otomatis modul libiscsi: echo β€œinstall libiscsi /bin/true” >> /etc/modprobe.d/disable-libiscsi.conf

Selain itu, dua kerentanan yang tidak terlalu berbahaya yang dapat menyebabkan kebocoran data dari kernel telah diperbaiki di subsistem iSCSI: CVE-2021-27363 (kebocoran informasi deskriptor transport iSCSI melalui sysfs) dan CVE-2021-27364 (buffer di luar batas membaca). Kerentanan ini dapat digunakan untuk berkomunikasi melalui soket netlink dengan subsistem iSCSI tanpa hak istimewa yang diperlukan. Misalnya, pengguna yang tidak memiliki hak istimewa dapat terhubung ke iSCSI dan mengeluarkan perintah "akhiri sesi" untuk mengakhiri sesi.

Sumber: opennet.ru

Tambah komentar