Ranjivost u sudou koja dopušta eskalaciju privilegija prilikom korištenja određenih pravila

U komunalnom sudo, koristi se za organiziranje izvršavanja naredbi u ime drugih korisnika, identificiran ranjivost (CVE-2019-14287), koji vam omogućuje izvršavanje naredbi s root pravima, ako postoje pravila u postavkama sudoersa u kojima u odjeljku za provjeru korisničkog ID-a nakon dopuštajuće ključne riječi “ALL” postoji izričita zabrana pokretanja s root pravima (“... (SVE, !root) ..." ). Ranjivost se ne pojavljuje u zadanim konfiguracijama u distribucijama.

Ako sudoers ima valjana, ali iznimno rijetka u praksi, pravila koja dopuštaju izvršenje određene naredbe pod UID-om bilo kojeg korisnika osim root-a, napadač koji ima ovlasti za izvršenje ove naredbe može zaobići postavljeno ograničenje i izvršiti naredbu s root prava. Da biste zaobišli ograničenje, samo pokušajte izvršiti naredbu navedenu u postavkama s UID-om “-1” ili “4294967295”, što će dovesti do njezinog izvršenja s UID-om 0.

Na primjer, ako u postavkama postoji pravilo koje svakom korisniku daje pravo da pokrene program /usr/bin/id pod bilo kojim UID-om:

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

ili opciju koja dopušta izvršenje samo za određenog korisnika bob:

moj host bob = (SVE, !root) /usr/bin/id

Korisnik može izvršiti “sudo -u '#-1' id” i uslužni program /usr/bin/id pokrenut će se kao root, unatoč izričitoj zabrani u postavkama. Problem je uzrokovan previđanjem posebnih vrijednosti "-1" ili "4294967295", koje ne dovode do promjene UID-a, ali budući da se sam sudo već izvodi kao root, bez promjene UID-a, ciljna naredba je također pokrenut s root pravima.

U distribucijama SUSE i openSUSE, bez navođenja "NOPASSWD" u pravilu, postoji ranjivost nije iskoristiv, budući da je u sudoersu "Defaults targetpw" način rada omogućen prema zadanim postavkama, koji provjerava UID u bazi podataka zaporki i traži od vas da unesete zaporku ciljnog korisnika. Za takve sustave, napad se može izvesti samo ako postoje pravila oblika:

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

Problem je riješen u izdanju Sudo 1.8.28. Popravak je također dostupan u obliku zakrpa. U paketima za distribuciju, ranjivost je već popravljena Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. U vrijeme pisanja, problem je ostao neriješen RHEL и Fedora. Ranjivost su identificirali sigurnosni istraživači iz Applea.

Izvor: opennet.ru

Dodajte komentar