Pronašli su VFS ranjivost u Linuxu koja omogućuje eskalaciju privilegija

Prije nekoliko dana objavljena je vijest da je ranjivost identificirana (već katalogiziran pod CVE-2022-0185) in API konteksta datotečnog sustava koje osigurava Linux jezgra što bi moglo omogućiti lokalnom korisniku da dobije root privilegije na sustavu.

Spominje se da problem je u tome što neprivilegirani korisnik može dobiti takve dozvole u izoliranom spremniku ako je podrška za korisničke prostore imena omogućena na sustavu.

Na primjer, prostori korisničkih imena omogućeni su prema zadanim postavkama na Ubuntu i Fedori, ali nisu omogućeni na Debianu i RHEL-u (osim ako se ne koriste platforme za izolaciju spremnika). Osim eskalacije privilegija, ranjivost se također može koristiti za izlazak iz izoliranog spremnika ako spremnik ima ovlaštenje CAP_SYS_ADMIN.

Ranjivost postoji u funkciji legacy_parse_param() u VFS a posljedica je nedostatka odgovarajuće validacije maksimalne veličine isporučenih parametara na datotečnim sustavima koji ne podržavaju API konteksta datotečnog sustava.

Nedavno smo nekoliko prijatelja u mom CTF Crusaders of Rust timu i ja naišli na 0-dnevnu hrpu Linux kernela. Pronašli smo bug kroz fuzzing sa syzkallerom i brzo ga razvili u Ubuntu LPE exploit. Zatim smo ga ponovno napisali kako bismo pobjegli i rootali Googleovu ojačanu Kubernetes CTF infrastrukturu. Ovaj bug utječe na sve verzije kernela od 5.1 (5.16 je trenutno u tijeku) i dodijeljen mu je CVE-2022-0185. Već smo to prijavili Linux distribuciji i sigurnosnoj mailing listi, a greška je ispravljena od objave ovog članka.

Prosljeđivanje prevelikog parametra može uzrokovati prelijevanje cjelobrojne varijable koja se koristi za izračunavanje veličine podataka koji se zapisuju; kod ima provjeru prekoračenja međuspremnika "if (len > PAGE_SIZE - 2 - veličina)", koja ne radi ako je vrijednost veličine veća od 4094 zbog prekoračenja cijelog broja kroz donju granicu (preljev cijelog broja, kada se pretvara 4096 – 2 – 4095 u nepotpisani int, dobiva se 2147483648).

Ovaj bug omogućuje, kada pristupate posebno izrađenoj FS slici, uzrokovati prelijevanje međuspremnika i prepisati podatke kernela koji slijede dodijeljeno memorijsko područje. Za iskorištavanje ranjivosti potrebna su CAP_SYS_ADMIN prava, tj. administratorsko ovlaštenje.

Od 2022., naši su suigrači odlučili pronaći dan 0 u 2022. Nismo bili baš sigurni kako točno započeti, ali budući da je naš tim imao visok stupanj upoznatosti s ranjivostima jezgre Linuxa, odlučili smo samo kupiti neke namjenske poslužitelje. i pokrenite Googleov syzkaller fuzzer. Dana 6. siječnja u 22:30 PST, chop0 je primio sljedeće izvješće o KASAN neuspjehu u legacy_parse_param: slab-out-of-bounds Upišite u legacy_parse_param. Čini se da je syzbot otkrio ovaj problem samo 6 dana ranije prilikom fuzziranja Androida, ali problem nije riješen i naivno smo mislili da nitko drugi nije primijetio.

Na kraju vrijedi spomenuti da se problem očituje još od verzije Linux kernela 5.1 i riješen je u ažuriranjima koja su objavljena prije nekoliko dana u verzijama 5.16.2, 5.15.16, 5.10.93, 5.4.173.

osim toga ažuriranja paketa ranjivosti već su objavljena za RHELDebianfedora i Ubuntu. Dok rješenje još nije dostupno na Arch LinuxGentooSUSE y openSUSE.

U ovom slučaju, spominje se da kao sigurnosno rješenje za sustave koji ne koriste izolaciju spremnika, možete postaviti vrijednost sysctl "user.max_user_namespaces" na 0:

Istraživač koji je identificirao problem objavio je demo eksploatacije que dopušta pokretanje koda kao root na Ubuntu 20.04 u zadanoj konfiguraciji. Planirano je da exploit kod se objavljuje na GitHubu u roku od tjedan dana nakon toga da distribucije objavljuju ažuriranje koje popravlja ranjivost.

Konačno ako vas zanima više o tome, detalje možete provjeriti u sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  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.

  1.   Galego dijo

    Još jedan razlog da ne dodirnete snap štapom.