Kerentanan dalam sudo yang memungkinkan peningkatan hak istimewa saat menggunakan aturan tertentu

Di utilitas Sudo, digunakan untuk mengatur pelaksanaan perintah atas nama pengguna lain, diidentifikasi kerentanan (CVE-2019-14287), yang memungkinkan Anda untuk menjalankan perintah dengan hak root, jika ada aturan dalam pengaturan sudoers di mana di bagian pemeriksaan ID pengguna setelah kata kunci izin "SEMUA" ada larangan eksplisit untuk menjalankan dengan hak root ("... (SEMUA, !root)..." ). Kerentanan tidak muncul dalam konfigurasi default di distribusi.

Jika sudoers memiliki aturan yang valid, tetapi sangat jarang dalam praktiknya, yang memungkinkan eksekusi perintah tertentu di bawah UID pengguna mana pun selain root, penyerang yang memiliki wewenang untuk menjalankan perintah ini dapat melewati batasan yang ditetapkan dan menjalankan perintah dengan hak root. Untuk melewati batasan tersebut, coba jalankan perintah yang ditentukan dalam pengaturan dengan UID β€œ-1” atau β€œ4294967295”, yang akan mengeksekusinya dengan UID 0.

Misalnya, jika ada aturan dalam pengaturan yang memberikan hak kepada pengguna mana pun untuk menjalankan program /usr/bin/id di bawah UID apa pun:

myhost ALL = (SEMUA, !root) /usr/bin/id

atau opsi yang memungkinkan eksekusi hanya untuk pengguna tertentu bob:

myhost bob = (SEMUA, !root) /usr/bin/id

Pengguna dapat menjalankan β€œsudo -u '#-1' id” dan utilitas /usr/bin/id akan diluncurkan sebagai root, meskipun ada larangan eksplisit dalam pengaturan. Masalahnya disebabkan oleh mengabaikan nilai khusus β€œ-1” atau β€œ4294967295”, yang tidak menyebabkan perubahan UID, tetapi karena sudo sendiri sudah berjalan sebagai root, tanpa mengubah UID, perintah target juga diluncurkan dengan hak root.

Dalam distribusi SUSE dan openSUSE, tanpa menentukan β€œNOPASSWD” dalam aturannya, terdapat kerentanan tidak dapat dieksploitasi, karena di sudoers mode "Defaults targetpw" diaktifkan secara default, yang memeriksa UID terhadap database kata sandi dan meminta Anda memasukkan kata sandi pengguna target. Untuk sistem seperti itu, serangan hanya dapat dilakukan jika ada aturan berupa:

myhost ALL = (SEMUA, !root) NOPASSWD: /usr/bin/id

Masalah diperbaiki dalam rilis Sudo 1.8.28. Perbaikannya juga tersedia dalam bentuk tambalan. Dalam kit distribusi, kerentanan telah diperbaiki Debian, Arch Linux, SUSE/bukaSUSE, Ubuntu, Gentoo ΠΈ FreeBSD. Pada saat penulisan, masalahnya masih belum terselesaikan RHEL ΠΈ Fedora. Kerentanan tersebut diidentifikasi oleh peneliti keamanan dari Apple.

Sumber: opennet.ru

Tambah komentar