Bug Layanan Sistem Linux Memungkinkan Anda Mendapatkan Akses Root

  • Whatsapp
Bug Layanan Sistem Linux Memungkinkan Anda Mendapatkan Akses Root

 

Kerentanan bypass otentikasi dalam layanan sistem auth polkit, yang diinstal secara default pada banyak distribusi Linux baru-baru ini, memungkinkan penyerang yang tidak memiliki hak untuk mendapatkan shell root. Pada 3 Juni 2021, cacat eskalasi hak istimewa lokal polkit (CVE-2021-3560) secara resmi diidentifikasi, dan perbaikan dirilis. Polkit digunakan oleh systemd, oleh karena itu termasuk dalam distribusi Linux apa pun yang menggunakan systemd.
Kevin Backhouse, seorang peneliti keamanan GitHub, merinci bagaimana ia menemukan bug (CVE-2021-3560) dalam layanan systemd yang disebut polkit dalam sebuah posting blog pada hari Kamis. Masalahnya, yang pertama kali diperkenalkan di commit bfa5036 tujuh tahun lalu dan pertama kali dikirimkan dalam versi polkit 0.113, mengambil berbagai jalur di berbagai distribusi Linux. Terlepas dari kenyataan bahwa banyak distribusi Linux tidak dikirimkan dengan versi polkit yang rentan hingga saat ini, setiap mesin Linux dengan polkit 0.113 atau yang lebih baru diinstal rentan terhadap serangan.
Polkit, sebelumnya dikenal sebagai PolicyKit, adalah layanan yang menentukan apakah tugas Linux tertentu memerlukan lebih banyak hak istimewa daripada yang tersedia saat ini. Itu ikut bermain ketika Anda ingin membuat akun pengguna baru, misalnya. Menurut Backhouse, mengeksploitasi masalah ini sangat sederhana, hanya membutuhkan beberapa perintah yang menggunakan alat terminal umum seperti bash, kill, dan dbus-send.
“Kerentanan dipicu dengan memulai perintah dbus-send tetapi mematikannya saat polkit masih memproses permintaan tersebut,” jelas Backhouse. Polkit meminta UID koneksi yang sudah tidak ada lagi, oleh karena itu mematikan dbus-send — perintah komunikasi antarproses — di tengah permintaan otentikasi membuat kesalahan (karena koneksi dimatikan).
“Faktanya, polkit salah menangani kesalahan dengan cara yang sangat disayangkan: alih-alih menolak permintaan, polkit memperlakukan permintaan seolah-olah berasal dari proses dengan UID 0,” jelas Backhouse. “Dengan kata lain, itu segera mengotorisasi permintaan karena menganggap permintaan itu berasal dari proses root.”
Karena kueri UID polkit ke dbus-daemon terjadi berkali-kali di sepanjang jalur kode yang berbeda, ini tidak terjadi sepanjang waktu. Menurut Backhouse, jalur kode tersebut biasanya menangani kesalahan dengan benar, tetapi salah satunya rentan, dan jika pemutusan terjadi saat jalur kode itu berjalan, eskalasi hak istimewa terjadi. Ini semua tentang waktu, yang bervariasi dengan cara yang tidak terduga karena keterlibatan berbagai proses. Backhouse percaya sifat intermiten bug adalah mengapa ia tidak diperhatikan selama tujuh tahun.

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *