Dvije ranjivosti pronađene su u Snapu i omogućeno im je pokretanje koda kao root

Qualys predstavljen vijest koju identificiram dvije ranjivosti (CVE-2021-44731 i CVE-2021-44730) u uslužnom programu snap-confine, poslano s root SUID zastavicom i pozvano od snapd procesa za generiranje izvršnog okruženja za aplikacije distribuirane u snap paketima.

U blog postu se spominje da ranjivosti omogućuju neprivilegiranom lokalnom korisniku da postigne izvršenje koda kao root u sustavu.

Prva ranjivost omogućuje napad fizičke manipulacije vezom, ali zahtijeva onemogućavanje zaštite tvrdih veza sustava (postavljanjem sysctl fs.protected_hardlinks na 0).

problem to je zbog netočne provjere lokacije izvršnih datoteka uslužnih programa snap-update-ns i snap-discard-ns koji se pokreću kao root. Put do ovih datoteka izračunat je u funkciji sc_open_snapd_tool() na temelju vlastitog puta iz /proc/self/exe, omogućujući vam da stvorite čvrstu vezu za ograničenje u vašem direktoriju i stavite svoje opcije na snap-update-ns i snap -discard-ns u ovom direktoriju. Kada se pokrene s tvrde veze, snap-confine kao root će izvršiti datoteke snap-update-ns i snap-discard-ns koje je zamijenio napadač iz trenutnog direktorija.

Uspješno iskorištavanje ove ranjivosti omogućuje svakom nepovlaštenom korisniku da dobije root privilegije na ranjivom hostu. Qualysovi sigurnosni istraživači uspjeli su neovisno provjeriti ranjivost, razviti exploit i steći potpune root privilegije na zadanim instalacijama Ubuntua.

Čim je Qualysov istraživački tim potvrdio ranjivost, angažirali smo se u odgovornom otkrivanju ranjivosti i koordinirali smo s dobavljačima i distribucijama otvorenog koda kako bismo objavili ovu novootkrivenu ranjivost.

Druga ranjivost uzrokovana je stanjem utrke i može se iskoristiti u zadanoj konfiguraciji Ubuntu desktopa. Da bi eksploatacija uspješno funkcionirala na Ubuntu poslužitelju, tijekom instalacije morate odabrati jedan od paketa iz odjeljka "Istaknute snimke poslužitelja".

rasno stanje manifestira se u funkciji setup_private_mount(). pozvan tijekom pripreme imenskog prostora točke montiranja za trenutni paket. Ova funkcija stvara privremeni direktorij "/tmp/snap.$SNAP_NAME/tmp" ili koristi postojeći za povezivanje i montiranje direktorija za snap paket na njega.

Budući da je naziv privremenog direktorija predvidljiv, napadač može promijeniti njegov sadržaj u simboličku vezu nakon provjere vlasnika, ali prije pozivanja sustava za montiranje. Na primjer, možete stvoriti simboličku vezu "/tmp/snap.lxd/tmp" u direktoriju /tmp/snap.lxd koji ukazuje na proizvoljni direktorij i poziv mount() pratit će simboličku vezu i montirati direktorij u prostor imena.

Slično, možete montirati njegov sadržaj u /var/lib i, nadjačavajući /var/lib/snapd/mount/snap.snap-store.user-fstab, organizirati montiranje vašeg /etc direktorija u paket imenskog prostora snap kako biste učitali vašu biblioteku iz root pristupa zamjenom /etc/ld.so.preload.

Primjećuje se da stvaranje exploita pokazalo se netrivijalnim zadatkom, budući da je uslužni program snap-confine napisan korištenjem tehnika sigurnog programiranja (snapd je napisan u Go, ali se C koristi za snap-confine), ima zaštitu temeljenu na profilima AppArmor, filtrira sistemske pozive na temelju mehanizma seccomp i koristi prostor imena mount za izolaciju.

Međutim, istraživači su uspjeli pripremiti funkcionalni exploit za dobivanje root pristupa na sustavu. Exploit kod bit će objavljen nekoliko tjedana nakon što korisnici instaliraju priložena ažuriranja.

Na kraju, vrijedno je spomenuti i toProblemi su riješeni u ažuriranju paketa snapd za Ubuntu verzije 21.10, 20.04 i 18.04.

Uz ostale distribucije koje koriste Snap, izašao je i Snapd 2.54.3, koji, osim navedenih problema, popravlja još jednu ranjivost (CVE-2021-4120), koja omogućuje, prilikom instaliranja posebno dizajniranih paketa dodataka, nadjačati proizvoljna pravila AppArmor i zaobići ograničenja pristupa postavljena za paket.

Naps zainteresirani za saznanje više o tome, možete provjeriti detalje U sljedećem linku.


Sadržaj članka pridržava se naših načela urednička etika. Da biste prijavili pogrešku, kliknite ovdje.

Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen.

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.