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

Prije nekoliko dana objavljena je vijest da je ranjivost identificirana (već katalogiziran pod CVE-2022-0185) in API konteksta sistema datoteka koje obezbeđuje linux kernel što bi moglo omogućiti lokalnom korisniku da dobije root privilegije na sistemu.

To se spominje problem je što korisnik bez privilegija može dobiti takve dozvole u izolovanom kontejneru ako je podrška za korisničke prostore imena omogućena na sistemu.

Na primjer, korisnički prostori 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 kontejnera). 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 i nastaje zbog nedostatka odgovarajuće validacije maksimalne veličine isporučenih parametara na sistemima datoteka koji ne podržavaju API konteksta sistema datoteka.

Nedavno smo nekoliko prijatelja iz mog CTF Crusaders of Rust tima i ja naišli na 0-dnevno prelijevanje Linux kernela. Pronašli smo grešku kroz fuzzing sa syzkallerom i brzo je razvili u Ubuntu LPE eksploataciju. Zatim smo ga ponovo napisali da pobjegnemo i rootujemo Googleovu ojačanu Kubernetes CTF infrastrukturu. Ova greška utiče na sve verzije kernela od 5.1 (5.16 je trenutno u toku) i dodeljena joj je CVE-2022-0185. To smo već prijavili Linux distribuciji i sigurnosnoj mailing listi, a greška je ispravljena od objave ovog članka.

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

Ova greška omogućava, prilikom pristupanja posebno kreiranoj FS slici, uzrokovati prelijevanje bafera i prepisati podatke kernela koji slijede dodijeljeno memorijsko područje. Za iskorištavanje ranjivosti potrebna su CAP_SYS_ADMIN prava, odnosno administratorsko ovlaštenje.

Od 2022. godine, naši saigrači su odlučili da pronađu dan 0 u 2022. Nismo bili baš sigurni kako da počnemo, ali pošto je naš tim imao visok stepen upoznatosti sa ranjivostima Linux kernela, odlučili smo da kupimo samo neke namenske servere. i pokrenite Googleov syzkaller fuzzer. 6. januara u 22:30 PST, chop0 je primio sljedeći izvještaj 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 niko drugi nije primijetio.

Na kraju, vrijedi spomenuti da se problem manifestira 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.

pored toga ažuriranja paketa ranjivosti su već objavljena para 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 sisteme koji ne koriste izolaciju kontejnera, možete postaviti vrijednost sysctl "user.max_user_namespaces" na 0:

Istraživač koji je identifikovao problem je objavio demo eksploatacije que dozvoljava pokretanje koda kao root na Ubuntu 20.04 u podrazumevanoj konfiguraciji. Planirano je da exploit kod je objavljen na GitHub-u u roku od nedelju dana nakon toga da distribucije objavljuju ažuriranje koje popravlja ranjivost.

Konačno ako ste zainteresirani da saznate više o tome, detalje možete provjeriti u sljedeći link.


Ostavite komentar

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

*

*

  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 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.

  1.   galicijski rekao je

    Još jedan razlog da ne dodirnete pucketanje štapom.