Dvije ranjivosti su pronađene u Snapu i dozvoljeno 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 sa root SUID zastavicom i pozvano od snapd procesa da generiše izvršno okruženje za aplikacije distribuirane u snap paketima.

U blog postu se to spominje ranjivosti omogućavaju neprivilegovanom lokalnom korisniku da postigne izvršenje koda kao root u sistemu.

Prva ranjivost omogućava napad fizičkim manipulacijama linkom, ali zahtijeva onemogućavanje zaštite sistemskih tvrdih veza (postavljanjem sysctl fs.protected_hardlinks na 0).

problem to je zbog netačne provjere lokacije izvršnih datoteka od 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 osnovu vlastite putanje iz /proc/self/exe, omogućavajući vam da kreirate čvrstu vezu da se ograničite na vaš direktorij i stavite svoje opcije na snap-update-ns i snap -discard-ns u ovom direktoriju. Kada se pokrene sa 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ćava svakom nepovlaštenom korisniku da dobije root privilegije na ranjivom hostu. Qualysovi istraživači sigurnosti su bili u mogućnosti da nezavisno verifikuju ranjivost, razviju eksploataciju i steknu potpune root privilegije na podrazumevanim Ubuntu instalacijama.

Čim je Qualysov istraživački tim potvrdio ranjivost, uključili smo se u odgovorno otkrivanje ranjivosti i koordinirali smo s dobavljačima i distribucijama otvorenog koda kako bismo objavili ovu novootkrivenu ranjivost.

Druga ranjivost je uzrokovana stanjem rase i može se iskoristiti u zadanoj konfiguraciji Ubuntu desktopa. Da bi eksploatacija uspešno funkcionisala na Ubuntu serveru, morate da izaberete jedan od paketa iz odeljka „Istaknuti serverski snimci“ tokom instalacije.

trkačko stanje manifestira se u funkciji setup_private_mount(). pozvan tokom pripreme imenskog prostora tačke montiranja za trenutni paket. Ova funkcija kreira 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 ime privremenog direktorija predvidljivo, napadač može promijeniti njegov sadržaj u simboličku vezu nakon provjere vlasnika, ali prije pozivanja sistema za montiranje. Na primjer, možete kreirati simboličku vezu "/tmp/snap.lxd/tmp" u direktoriju /tmp/snap.lxd koji ukazuje na proizvoljni direktorij i poziv mount() će pratiti 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 snap imenskog prostora paketa kako biste učitali vašu biblioteku iz root pristupa zamjenom /etc/ld.so.preload.

Primjećuje se da ispostavilo se da stvaranje eksploatacije nije trivijalan zadatak, 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 zasnovanu na AppArmor profilima, filtrira sistemske pozive na osnovu mehanizma seccomp i koristi prostor imena mount za izolaciju.

Međutim, istraživači su uspjeli pripremiti funkcionalni exploit da dobijete root pristup na sistemu. Exploit kod će biti objavljen nekoliko sedmica nakon što korisnici instaliraju dostavljena ažuriranja.

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

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

Naps zainteresovani da saznaju više o tome, možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.