Sudo pažeidžiamumas, leidžiantis padidinti privilegijas naudojant konkrečias taisykles

Komunalinėje programoje Sudo, naudojamas komandų vykdymui organizuoti kitų vartotojų vardu, nustatyta pažeidžiamumas (CVE-2019-14287), leidžianti vykdyti komandas su root teisėmis, jei sudoers nustatymuose yra taisyklės, kuriose vartotojo ID tikrinimo skiltyje po leidžiančio raktinio žodžio „ALL“ yra aiškus draudimas paleisti su root teisėmis („... (ALL, !root) ..." ). Pažeidžiamumas nerodomas numatytosiose platinimo konfigūracijose.

Jei sudoers turi galiojančias, bet praktikoje itin retas taisykles, leidžiančias vykdyti tam tikrą komandą su bet kurio vartotojo, išskyrus root, UID, užpuolikas, turintis teisę vykdyti šią komandą, gali apeiti nustatytą apribojimą ir vykdyti komandą su šakninės teisės. Norėdami apeiti apribojimą, tiesiog pabandykite vykdyti nustatymuose nurodytą komandą su UID „-1“ arba „4294967295“, kuri bus vykdoma naudojant UID 0.

Pavyzdžiui, jei nustatymuose yra taisyklė, kuri suteikia bet kuriam vartotojui teisę vykdyti programą /usr/bin/id su bet kuriuo UID:

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

arba parinktis, leidžianti vykdyti tik konkrečiam vartotojui Bob:

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

Vartotojas gali vykdyti „sudo -u '#-1' id“ ir programa /usr/bin/id bus paleista kaip root, nepaisant aiškaus draudimo nustatymuose. Problema kyla dėl specialių reikšmių „-1“ arba „4294967295“ nepastebėjimo, dėl kurių UID nepasikeičia, tačiau kadangi pats sudo jau veikia kaip root, nekeičiant UID, tikslinė komanda taip pat yra paleista su root teisėmis.

SUSE ir openSUSE platinimuose, taisyklėje nenurodžius „NOPASSWD“, yra pažeidžiamumas nėra išnaudojamas, nes sudoers pagal numatytuosius nustatymus įjungtas „Defaults targetpw“ režimas, kuris patikrina UID su slaptažodžių duomenų baze ir ragina įvesti tikslinio vartotojo slaptažodį. Tokiose sistemose ataka gali būti vykdoma tik tuo atveju, jei yra šios formos taisyklės:

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

Problema ištaisyta leidime Sudo 1.8.28. Pataisymas taip pat pasiekiamas formoje pleistras. Platinimo rinkiniuose pažeidžiamumas jau buvo ištaisytas debian, Arch Linux, SUSE / openSUSE, ubuntu, "Gentoo" и FreeBSD. Rašymo metu problema lieka neišspręsta RHEL и Minkšta fetrinė skrybėlė. Pažeidžiamumą nustatė „Apple“ saugumo tyrėjai.

Šaltinis: opennet.ru

Добавить комментарий