Kerentanan dalam sudo yang membenarkan peningkatan keistimewaan apabila menggunakan peraturan tertentu

Dalam utiliti Sudo, digunakan untuk mengatur pelaksanaan perintah bagi pihak pengguna lain, dikenalpasti kelemahan (CVE-2019 14287-), yang membolehkan anda melaksanakan perintah dengan hak akar, jika terdapat peraturan dalam tetapan sudoers di mana dalam bahagian semakan ID pengguna selepas kata kunci yang membenarkan "SEMUA" terdapat larangan eksplisit untuk menjalankan dengan hak akar ("... (SEMUA, !root) ..." ). Kerentanan tidak muncul dalam konfigurasi lalai dalam pengedaran.

Jika sudoers mempunyai sah, tetapi sangat jarang dalam amalan, peraturan yang membenarkan pelaksanaan perintah tertentu di bawah UID mana-mana pengguna selain daripada root, penyerang yang mempunyai kuasa untuk melaksanakan arahan ini boleh memintas sekatan yang ditetapkan dan melaksanakan arahan dengan hak akar. Untuk memintas pengehadan, cuma cuba laksanakan perintah yang dinyatakan dalam tetapan dengan UID "-1" atau "4294967295", yang akan membawa kepada pelaksanaannya dengan UID 0.

Sebagai contoh, jika terdapat peraturan dalam tetapan yang memberikan mana-mana pengguna hak untuk melaksanakan program /usr/bin/id di bawah mana-mana UID:

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

atau pilihan yang membenarkan pelaksanaan hanya untuk bob pengguna tertentu:

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

Pengguna boleh melaksanakan "sudo -u '#-1' id" dan utiliti /usr/bin/id akan dilancarkan sebagai root, walaupun terdapat larangan yang jelas dalam tetapan. Masalahnya disebabkan oleh mengabaikan nilai khas "-1" atau "4294967295", yang tidak membawa kepada perubahan dalam UID, tetapi kerana sudo sendiri sudah berjalan sebagai root, tanpa mengubah UID, arahan sasaran juga dilancarkan dengan hak akar.

Dalam pengedaran SUSE dan openSUSE, tanpa menyatakan "NOPASSWD" dalam peraturan, terdapat kelemahan tidak boleh dieksploitasi, memandangkan dalam sudoers mod "Defaults targetpw" didayakan secara lalai, yang menyemak UID terhadap pangkalan data kata laluan dan menggesa anda memasukkan kata laluan pengguna sasaran. Untuk sistem sedemikian, serangan hanya boleh dilakukan jika terdapat peraturan bentuk:

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

Isu ditetapkan dalam keluaran Sudo 1.8.28. Pembaikan juga tersedia dalam borang tampalan. Dalam kit pengedaran, kelemahan telah pun diperbaiki Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo ΠΈ FreeBSD. Pada masa penulisan, masalahnya masih belum selesai RHEL ΠΈ Fedora. Kerentanan itu dikenal pasti oleh penyelidik keselamatan dari Apple.

Sumber: opennet.ru

Tambah komen