Ranljivost v sudo, ki omogoča stopnjevanje privilegijev pri uporabi določenih pravil

V komunali Sudo, ki se uporablja za organizacijo izvajanja ukazov v imenu drugih uporabnikov, ugotovljeno ranljivost (CVE-2019-14287), ki vam omogoča izvajanje ukazov s korenskimi pravicami, če obstajajo v nastavitvah sudoers pravila, v katerih je v razdelku za preverjanje ID-ja uporabnika za dovoljujočo ključno besedo “VSE” izrecna prepoved izvajanja s korenskimi pravicami (“... (VSE, !root) ..." ). Ranljivost se ne pojavi v privzetih konfiguracijah distribucij.

Če ima sudoers veljavna, a v praksi zelo redka pravila, ki dovoljujejo izvedbo določenega ukaza pod UID-jem katerega koli uporabnika, razen root, lahko napadalec, ki ima pooblastilo za izvedbo tega ukaza, obide uveljavljeno omejitev in izvede ukaz z korenske pravice. Če želite zaobiti omejitev, preprosto poskusite izvesti ukaz, naveden v nastavitvah, z UID-jem »-1« ali »4294967295«, kar bo vodilo do njegove izvedbe z UID-jem 0.

Na primer, če je v nastavitvah pravilo, ki kateremu koli uporabniku daje pravico do izvajanja programa /usr/bin/id pod katerim koli UID-jem:

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

ali možnost, ki dovoljuje izvedbo samo za določenega uporabnika bob:

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

Uporabnik lahko izvede “sudo -u '#-1' id” in pripomoček /usr/bin/id se bo zagnal kot root, kljub izrecni prepovedi v nastavitvah. Težavo povzroča spregledanje posebnih vrednosti »-1« ali »4294967295«, ki ne vodijo do spremembe UID-ja, a ker se sam sudo že izvaja kot root, ne da bi spremenil UID, je tudi ciljni ukaz zagnan s korenskimi pravicami.

V distribucijah SUSE in openSUSE obstaja ranljivost brez navedbe »NOPASSWD« v pravilu ni izkoriščen, saj je v sudoers privzeto omogočen način »Defaults targetpw«, ki preveri UID glede na podatkovno bazo gesel in vas pozove, da vnesete geslo ciljnega uporabnika. Za takšne sisteme je napad mogoče izvesti le, če obstajajo pravila oblike:

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

Težava odpravljena v izdaji Sudo 1.8.28. Popravek je na voljo tudi v obliki obliž. V distribucijskih kompletih je bila ranljivost že odpravljena Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. V času pisanja je težava še vedno neodpravljena RHEL и Fedora. Ranljivost so odkrili varnostni raziskovalci podjetja Apple.

Vir: opennet.ru

Dodaj komentar