Kerentanan dalam protokol jaringan CAN BCM memungkinkan eskalasi hak istimewa di kernel linux 

Kemarin informasi dirilis tentang kerentanan di kernel Linux dan yang sudah dikatalogkan sebagai CVE-2021-3609. Kerentanan ini memungkinkan pengguna lokal untuk meningkatkan hak istimewa mereka pada sistem karena kondisi balapan dalam implementasi protokol CAN BCM dan dimanifestasikan dalam versi 2.6.25 hingga 5.13-rc6 dari kernel Linux.

Keputusan mengambil keuntungan karena Protokol CAN BCM memungkinkan Anda untuk mendaftarkan pengelola pesan Anda sendiri dari jaringan area pengontrol (CAN) dan hubungkan ke soket jaringan tertentu. Ketika pesan masuk tiba, fungsinya disebut bcm_rx_handler () penyerang dapat memanfaatkan kondisi balapan dan memaksa soket jaringan untuk menutup saat mengeksekusi bcm_rx_handler().

Masalahnya muncul ketika soket ditutup dan fungsinya disebut bcm_rilis (), di mana memori yang dialokasikan untuk struktur dibebaskan bcm_op dan bcm_sock, yang terus digunakan di handler bcm_rx_handler () yang masih berjalan, sehingga muncul situasi yang mengarah pada akses ke blok memori yang sudah dibebaskan (use-after-free).

Ini adalah pengumuman bug yang baru-baru ini dilaporkan (CVE-2021-3609) dalam protokol jaringan CAN BCM di kernel Linux mulai dari versi 2.6.25 hingga jalur utama 5.13-rc6.
Kerentanan adalah kondisi balapan di net / can / bcm.c yang memungkinkan eskalasi hak istimewa ke root. Masalah ini awalnya dilaporkan oleh syzbot dan Norbert Slusarek terbukti dapat dieksploitasi.

Serangan itu bermuara pada membuka dua soket CAN BCM dan mengikatnya ke antarmuka vcan. Di konektor pertama, Anda memanggil kirim pesan () dengan indikator RX_SETUP untuk mengonfigurasi pengontrol untuk pesan CAN yang masuk dan pada konektor kedua, Anda memanggil kirim pesan () untuk mengirim pesan ke konektor pertama.

Setelah pesan datang, panggilan bcm_rx_handler () dipicu dan penyerang mengambil momen yang tepat dan menutup soket pertama, yang mengarah pada peluncuran bcm_rilis () dan peluncuran struktur bcm_op dan bcm_sock, meskipun pekerjaan bcm_rx_handler () itu belum selesai.

Dengan memanipulasi konten bcm_sock, penyerang dapat menimpa pointer ke fungsi sk-> sk_data_ready (sk), eksekusi redirect, dan, menggunakan teknik pemrograman berorientasi kembali (ROP), menimpa parameter modprobe_path dan membuat kodenya berjalan sebagai root .

Saat menggunakan teknik ROP, penyerang tidak mencoba memasukkan kodenya untuk mengenang, tapi beroperasi pada potongan-potongan instruksi mesin sudah tersedia di perpustakaan yang dimuat, diakhiri dengan pernyataan pengembalian kontrol (sebagai aturan, ini adalah akhir dari fungsi perpustakaan).

Izin yang diperlukan untuk melakukan serangan dapat diperoleh oleh pengguna yang tidak memiliki hak istimewa dalam wadah yang dibuat pada sistem dengan ruang nama pengguna yang diaktifkan. Misalnya, ruang nama pengguna disertakan secara default di Ubuntu dan Fedora, tetapi tidak diaktifkan di Debian dan RHEL.

Upaya eksploitasi saya berkonsentrasi pada kernel dengan versi> = 5.4-rc1 dari komit bf74aa86e111. Saya tidak menyelidiki eksploitasi kernel yang lebih tua dari 5.4-rc1 menggunakan tasklet, namun mengeksploitasi kernel yang lebih lama tampaknya juga layak. 

Disebutkan itu peneliti yang mengidentifikasi kerentanan dapat menyiapkan eksploitasi untuk mendapatkan hak root pada sistem dengan kernel dari versi 5.4 dan yang lebih baru, termasuk kemungkinan serangan yang berhasil pada Ubuntu 20.04.02 LTS.

Pekerjaan eksploitasi dikurangi menjadi membangun rantai panggilan ke blok serupa ("gadget") untuk mendapatkan fungsionalitas yang diperlukan. Serangan tersebut membutuhkan akses untuk membuat soket CAN dan antarmuka jaringan vcan yang dikonfigurasi.

Akhirnya disebutkan bahwa masalahnya masih berlanjut pada sebagian besar distribusi, tetapi hanya beberapa hari sebelum patch yang sesuai dirilis.

Jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda bisa berkonsultasi link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.