Ranjivost u sudo koja omogućava eskalaciju privilegija kada se koriste određena pravila

U uslužnom Sudo, koji se koristi za organizaciju izvršavanja naredbi u ime drugih korisnika, identifikovan ranjivost (CVE-2019-14287), koji vam omogućava da izvršavate naredbe s root pravima, ako postoje pravila u postavkama sudoersa u kojima u odjeljku za provjeru korisničkog ID-a nakon ključne riječi dozvole „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 izuzetno rijetka u praksi pravila koja dozvoljavaju izvršavanje određene naredbe pod UID-om bilo kojeg korisnika osim root-a, napadač koji ima ovlaštenje da izvrši ovu naredbu može zaobići utvrđeno ograničenje i izvršiti naredbu sa root prava. Da biste zaobišli ograničenje, samo pokušajte da izvršite naredbu navedenu u postavkama sa UID-om “-1” ili “4294967295”, što će dovesti do njenog izvršenja sa UID-om 0.

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

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

ili opcija koja dozvoljava izvršenje samo za određenog korisnika bob:

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

Korisnik može izvršiti “sudo -u ‘#-1’ id” i uslužni program /usr/bin/id će biti pokrenut s root pravima, uprkos izričitoj zabrani u postavkama. Problem je uzrokovan previđanjem posebnih vrijednosti “-1” ili “4294967295”, koje ne dovode do promjene UID-a, ali pošto sam sudo već radi kao root, bez promjene UID-a, ciljna komanda je također pokrenut s root pravima.

U SUSE i openSUSE distribucijama, bez navođenja “NOPASSWD” u pravilu, postoji ranjivost nije iskoristivo, budući da je u sudoers-u režim “Defaults targetpw” omogućen prema zadanim postavkama, koji provjerava UID u odnosu na bazu podataka lozinki i traži od vas da unesete lozinku ciljanog korisnika. Za takve sisteme, 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. Ispravka je dostupna i u obrascu patch. U distributivnim kompletima, ranjivost je već ispravljena Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. U vrijeme pisanja, problem je ostao neriješen RHEL и fedora. Ranjivost su identifikovali istraživači sigurnosti iz Apple-a.

izvor: opennet.ru

Dodajte komentar