Otkrivena je greška u Linux sakupljaču smeća koja bi mogla dovesti do eskalacije privilegija 

ranjivost sistema

Prije nekoliko dana Jann Horn iz tima Google Project Zero, koji je prethodno identifikovao ranjivosti Spectre i Meltdown, otkrio tehniku ​​za iskorištavanje ranjivosti pronađeno u sakupljaču smeća Linux kernela (CVE-2021-4083).

Ranjivost je uzrokovano stanjem utrke kada se deskriptori datoteke unix socketa očišćene i potencijalno dozvoljava neprivilegovanom lokalnom korisniku da izvrši vaš kod na nivou kernela.

problem je zanimljivo jer vremenski prozor tokom kojeg nastupa stanje trke ocijenjeno kao premalo stvoriti stvarne ranjivosti, ali autor studije je pokazao da čak i prvobitno skeptične ranjivosti mogu postati izvor stvarnih napada ako kreator ranjivosti ima potrebne vještine i vrijeme.

Yann Horn pokazao kako je uz pomoć filigranskih manipulacija moguće smanjiti stanje Događaj utrke koji se javlja kada se istovremeno pozivaju funkcije close() i fget() za potpuno iskorišćenu ranjivost bez upotrebe i dobijanje pristupa već oslobođenoj strukturi podataka unutar kernela.

Dolazi do stanja trke tokom procesa zatvaranja deskriptora fajla dok istovremeno pozivate funkcije close() i fget(). Poziv close() može se izvršiti prije nego što se izvrši fget(), što će zbuniti sakupljača stavki neiskorišteno jer, prema refcountu, struktura datoteke neće imati eksterne reference, ali će ostati pridružena deskriptoru datoteke, tj. sakupljač smeća će pretpostaviti da ima isključivi pristup strukturi, ali u stvari za kratko vrijeme, preostali unos u tabeli deskriptora datoteke će nastaviti da ukazuje da se struktura oslobađa.

Za povećanje vjerovatnoće ulazak u trkačko stanje, Korišteno je nekoliko trikova koji su omogućili povećanje vjerovatnoće uspjeha udjela od 30% prilikom izvođenja specifičnih optimizacija sistema. Na primjer, da bi se povećalo vrijeme pristupa strukturi s deskriptorima datoteka za nekoliko stotina nanosekundi, podaci su izbačeni iz keša procesora zagađenjem keša aktivnošću na drugom CPU jezgru, što je omogućilo vraćanje strukture iz memorije i ne brza keš memorija CPU-a.

Druga važna karakteristika fue korištenje prekida koje generiše hardverski tajmer da se produži vreme trke. Tajming je odabran tako da se rukovalac prekida aktivira za vrijeme pojave uvjeta utrke i izvršavanja koda prekida neko vrijeme. Da bi dodatno odgodio povratak kontrole, epoll je generirao oko 50 hiljada unosa u redu čekanja, što je zahtijevalo iteraciju u rukovatelju prekida.

Tehnika iskorištavanje ranjivosti je objelodanjena nakon 90-dnevnog perioda neotkrivanja. Problem

i to je popravljeno početkom decembra. Ispravka je uključena u kernel 5.16 i takođe je prebačena u LTS grane kernela i pakete sa kernelom koji su isporučeni u distribucijama. Treba napomenuti da je ranjivost identifikovana tokom analize sličnog problema CVE-2021-0920, koji se manifestuje u sakupljaču smeća prilikom obrade oznake MSG_PEEK.

Još jedna ranjivost koja je pronađena nedavno u Linux kernelu, to je bio CVE-2022-0742 Que može iscrpiti dostupnu memoriju i daljinski uzrokovati uskraćivanje usluge slanjem posebno kreiranih icmp6 paketa. Problem je povezan s curenjem memorije koje se javlja prilikom obrade ICMPv6 poruka s tipovima 130 ili 131.

Problem je prisutan od kernela 5.13 i popravljen je u verzijama 5.16.13 i 5.15.27. Problem nije utjecao na stabilne grane Debian, SUSE, Ubuntu LTS (18.04, 20.04) i RHEL, popravljen je na Arch Linuxu.

Konačno ako ste zainteresirani da saznate više o tome bilješke, 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.