Ranjivost u jezgri omogućuje eskalaciju privilegija manipulacijom direktorija

ranjivost sustava

nedavno Istraživači sigurnosti Qualys (tvrtka za sigurnost u oblaku, usklađenost i povezane usluge) objavio detalje o ranjivosti što su otkrili i što utječu na Linux kernel.

CVE-2021-33909 utječe na jezgru i omogućuje lokalnom korisniku da postigne izvršenje koda i eskalirati privilegije manipulirajući visoko ugniježđenim direktorijima.

Ranjivost je posljedica nedostatka provjere valjanosti rezultata pretvaranja size_t u tip int prije izvođenja operacija na kodu seq_file, koji stvara datoteke iz niza zapisa. Nedostatak provjere valjanosti može rezultirati upisivanjem u područje izvan ograničenja međuspremnika prilikom stvaranja, montiranja i ispuštanja strukture direktorija s vrlo visokom razinom gniježđenja (veličina puta veća od 1 GB).

Bilo koji neprivilegirani korisnik može dobiti root privilegije na ranjivom hostu iskorištavanjem ove ranjivosti u zadanoj konfiguraciji.

Kao rezultat, napadač može dobiti 10-bajtni niz "// izbrisano" s pomakom od "- 2 GB - 10 bajtova", pokazujući na područje neposredno prije dodijeljenog međuspremnika.

Prijetnja ranjivosti složena je činjenicom da istraživači su mogli pripremiti funkcionalne podvige na Ubuntu 20.04, Debian 11 i Fedora 34 u zadanim postavkama. Primjećuje se da druge distribucije nisu testirane, ali teoretski su također osjetljive na problem i mogu biti napadnute.

Uspješno iskorištavanje ove ranjivosti omogućava bilo kojem neprivilegiranom korisniku da stekne root privilegije na ranjivom hostu. Istraživači sigurnosti Qualys uspjeli su neovisno provjeriti ranjivost, razviti exploit i steći potpune root privilegije na zadanim instalacijama Ubuntu 20.04, Ubuntu 20.10, Ubuntu 21.04, Debian 11 i Fedora 34 Workstation. Ostale distribucije Linuxa vjerojatno će biti ranjive i vjerojatno iskoristive.

Posao eksploatacije svodi se na stvaranje hijerarhije od otprilike milijun direktorija ugniježđen putem poziva mkdir () kako bi se postigla veličina puta datoteke veća od 1 GB.

Ovaj je direktorij bind-mount montiran u zasebni prostor imena korisnika, nakon čega se pokreće funkcija rmdir () za njegovo uklanjanje. Paralelno se stvara nit koja učitava mali program eBPF, koji visi u fazi nakon provjere pseudo koda eBPF, ali prije njegove JIT kompilacije.

U nepovlaštenom prostoru imena korisničkog ID-a otvara se datoteka / proc / self / mountinfo i čita dugačku stazu direktorija montiranu s bind-mountom, što rezultira time da se redak "// izbrisani" upisuje u regiju prije početka međuspremnika. Položaj za pisanje retka odabran je na takav način da prepisuje upute u već testiranom, ali još ne sastavljenom programu eBPF.

Nadalje, na razini programa eBPF, nekontrolirano ispisivanje iz međuspremnika pretvara se u sposobnost čitanja / pisanja kontroliran u drugim strukturama jezgre manipuliranjem btf i map_push_elem strukturama.

Eksploatacijski program zatim postavlja memoriju modprobe_path [] u memoriju kernela i u nju prepisuje stazu "/ sbin / modprobe", omogućavajući pokretanje bilo koje izvršne datoteke kao root ako se izvrši poziv request_module (), koji se izvršava na primjer prilikom stvaranja mrežna utičnica ...

Istraživači su pružili nekoliko rješenja koja su učinkovita samo za određenu eksploataciju, ali ne rješavaju sam problem.

Kao takav preporuča se postaviti parametar "/ proc / sys / kernel / unprivileged_userns_clone" na 0 da se onemogući montiranje direktorija u zasebnom imenskom prostoru korisničkog imena, a "/ proc sys / kernel / unprivileged_bpf_disabled" na 1 da se onemogući učitavanje eBPF programa u jezgru.

Uz činjenicu da se svim korisnicima Linux distribucije također preporučuje da ažuriraju svoj sustav tako da imaju odgovarajuću zakrpu. Problem je očit od srpnja 2014. godine a utječe na verzije jezgre od 3.16. Zakrpa ranjivosti koordinirana je sa zajednicom i prihvaćena u jezgri 19. srpnja.

Napokon, ako vas zanima više o tome, možete se obratiti pojedinosti na sljedećem linku.


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.