Kerentanan di Polkit yang memungkinkan Anda meningkatkan hak istimewa Anda di sistem

Kerentanan (CVE-2021-3560) telah diidentifikasi dalam komponen Polkit, yang digunakan dalam distribusi untuk memungkinkan pengguna yang tidak memiliki hak istimewa melakukan tindakan yang memerlukan hak akses yang lebih tinggi (misalnya, memasang drive USB), yang memungkinkan pengguna lokal untuk mendapatkan hak root dalam sistem. Kerentanan telah diperbaiki di Polkit versi 0.119.

Masalahnya telah ada sejak rilis 0.113, tetapi banyak distribusi, termasuk RHEL, Ubuntu, Debian, dan SUSE, telah mem-backport fungsionalitas yang terpengaruh ke dalam paket berdasarkan rilis Polkit yang lebih lama (perbaikan paket sudah tersedia di distribusi).

Masalahnya muncul dalam fungsi polkit_system_bus_name_get_creds_sync(), yang memperoleh pengidentifikasi (uid dan pid) dari proses yang meminta peningkatan hak istimewa. Suatu proses diidentifikasi oleh Polkit dengan memberikan nama unik di DBus, yang kemudian digunakan untuk memverifikasi hak istimewa. Jika suatu proses terputus dari dbus-daemon tepat sebelum penangan polkit_system_bus_name_get_creds_sync dimulai, penangan akan menerima kode kesalahan dan bukan nama unik.

Kerentanan ini disebabkan oleh fakta bahwa kode kesalahan yang dikembalikan tidak diproses dengan benar dan fungsi polkit_system_bus_name_get_creds_sync() mengembalikan TRUE dan bukan FALSE, meskipun gagal mencocokkan proses dengan uid/pid dan memverifikasi hak istimewa yang diminta untuk proses tersebut. Kode dari mana fungsi polkit_system_bus_name_get_creds_sync() dipanggil mengasumsikan bahwa pemeriksaan berhasil dan permintaan untuk meningkatkan hak istimewa datang dari root dan bukan dari pengguna yang tidak memiliki hak istimewa, yang memungkinkan untuk melakukan tindakan istimewa tanpa otentikasi tambahan dan verifikasi kredensial.

Sumber: opennet.ru

Tambah komentar