Sudo ievainojamība, kas ļauj palielināt privilēģijas, izmantojot īpašus noteikumus

Lietderībā Sudo, ko izmanto, lai organizētu komandu izpildi citu lietotāju vārdā, identificēts ievainojamība (CVE-2019-14287), kas ļauj izpildīt komandas ar root tiesībām, ja sudoers iestatījumos ir noteikumi, kuros lietotāja ID pārbaudes sadaļā pēc atļaujošā atslēgvārda “ALL” ir izteikts aizliegums darboties ar root tiesībām (“... (VISI, !sakne) ..." ). Ievainojamība neparādās izplatīšanas noklusējuma konfigurācijās.

Ja sudoers ir derīgi, bet praksē ārkārtīgi reti noteikumi, kas ļauj izpildīt noteiktu komandu ar jebkura lietotāja UID, kas nav root, uzbrucējs, kuram ir tiesības izpildīt šo komandu, var apiet ierobežojumu un izpildīt komandu ar root. tiesības. Lai apietu ierobežojumu, vienkārši mēģiniet izpildīt iestatījumos norādīto komandu ar UID “-1” vai “4294967295”, kas novedīs pie tās izpildes ar UID 0.

Piemēram, ja iestatījumos ir noteikums, kas jebkuram lietotājam dod tiesības izpildīt programmu /usr/bin/id ar jebkuru UID:

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

vai opcija, kas ļauj izpildīt tikai konkrētam lietotājam Bobam:

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

Lietotājs var izpildīt “sudo -u '#-1' id”, un utilīta /usr/bin/id tiks palaista kā root, neskatoties uz tiešu aizliegumu iestatījumos. Problēmu rada speciālo vērtību “-1” vai “4294967295” neievērošana, kas neizraisa izmaiņas UID, bet tā kā pati sudo jau darbojas kā root, tad, nemainot UID, tiek palaista arī mērķa komanda. ar saknes tiesībām.

SUSE un openSUSE izplatījumos, nenorādot noteikumā “NOPASSWD”, pastāv ievainojamība. nav ekspluatējams, jo programmās sudoers pēc noklusējuma ir iespējots režīms “Defaults targetpw”, kas pārbauda UID ar paroļu datu bāzi un aicina ievadīt mērķa lietotāja paroli. Šādām sistēmām uzbrukumu var veikt tikai tad, ja ir šādas formas noteikumi:

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

Problēma ir novērsta laidienā Sudo 1.8.28. Labojums ir pieejams arī formā plāksteris. Izplatīšanas komplektos ievainojamība jau ir novērsta Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. Rakstīšanas laikā problēma joprojām nav novērsta RHEL и Fedora. Ievainojamību atklāja Apple drošības pētnieki.

Avots: opennet.ru

Pievieno komentāru