7 godina stara Linux ranjivost: CVE-2024-36904

Kompanija za sajber bezbjednost Allele Security otkrila je kritičnu ranjivost u jezgru sistema (eng. kernel) operativnog sistema Linux. Ova ranjivost, označena kao CVE-2024-36904, potencijalno bi mogla da ugrozi čitav sistem ako se uspješno iskoristi, što bi dovelo do proizvoljnog izvršavanja kôda unutar sistemskog jezgra.

Linux CVE-2024-36904

7 godina stara Linux ranjivost: CVE-2024-36904; Source: Bing Image Creator

LINUX RANJIVOST: CVE-2024-36904

Linux jezgro sistema, u svojoj srži, je složen dio softvera koji upravlja resursima i sistemskim pozivima za aplikacije koje rade na Linux operativnom sistemu. Međutim, kao i kod svakog složenog softvera, ono nije imuno na ranjivosti. To je slučaj i sa ranjivošću CVE-2024-36904 koja datira prije sedam godina, a mogla bi omogućiti zlonamjernim akterima da izvrše daljinski kôd.

Ranjivost je prvo identifikovana kroz dokaza koncepta u kontrolisanim uslovima, ali je zahtijevala precizno vrijeme izvršavanja i razumijevanje unutrašnjih dijelova jezgra sistema za eksploataciju u stvarnom svetu. Ovo naglašava važnost proaktivnih praksi revizije sistemskog jezgra da bi se identifikovale potencijalne prijetnje pre nego što budu iskorištene.

Ranjivost je prijavljena i ispravljena u maju 2024. godine. Međutim, mnoge distribucije nisu integrisale ispravku u svoja najnovija izdanja u vreme otkrivanja. Ispravka se bavi problemom tako što obezbjeđuje ispravnu sinhronizaciju tokom inicijalizacije referentnog brojača, sprečavajući uslove utrkivanja procesa koji bi mogli da dovedu do upotrebe nakon oslobađanja (eng. use-after-free) – a to je vrsta ranjivosti korupcije memorije.

 

Funkcionisanje

Kritična ranjivost CVE-2024-36904 se nalazi unutra Linux jezgra sistema u funkciji pod nazivom inet_twsk_hashdance(), koja tokom svog izvršavanja prepisuje određenu vrijednost, izazivajući neravnotežu i dovodeći do preranog oslobađanja objekta.

Niz događaja koji dovode do ove ranjivosti počinje sa time-wait socket objektom koji se dodaje u heš tabelu pre nego što se njegov referentni brojač potpuno inicijalizuje. Istovremene pretrage preko inet_check_established() lociraju objekat i pozivaju twsk_unique(), što zauzvrat pokreće sock_hold(). Ako sock_hold() naiđe na neinicijalizovan referentni brojač, on ga označava specifičnom vrijednošću. Međutim, kasnije tokom svog izvršavanja, inet_twsk_hashdance() prepisuje ovu označenu vrijednost, što dovodi do prijevremenog oslobađanja objekta.

Ovo rano oslobađanje stvara situaciju upotrebe nakon oslobađanja, u kojoj se oslobođena memorija naknadno koristi bez odgovarajuće preraspodjele ili oslobađanja, što dovodi do nepredvidivih rezultata i potencijalne eksploatacije od strane zlonamjernih aktera.

Da bi potvrdili iskoristivost ove ranjivosti, sigurnosni istraživači su modifikovali jezgro kako bi uveli kašnjenja u ključnim tačkama u toku njegovog izvršavanja. Na taj način su bili u mogućnosti da pouzdano reprodukuju problem i generišu detaljne izvještaje koristeći Kernel Address Sanitizer – KASAN, alat dizajniran za pronalaženje memorijskih grešaka u Linux jezgru sistema. Sigurnosni istraživači su takođe preduzeli dodatne korake da zaobiđu KASAN ograničenja na keš memoriji, obezbeđujući da njihovi testovi budu što sveobuhvatniji i tačniji.

 

Uticaj

Uticaj ove ranjivosti je značajan jer može potencijalno da ugrozi čitav sistem ako se uspješno iskoristi. Proizvoljno izvršavanje kôda unutar jezgra sistema može omogućiti zlonamjernom akteru da dobije osnovni (eng. root) pristup, instalira zlonamjerni softver ili izvrši druge zlonamjerne aktivnosti neotkriven. Da bi ublažili ovaj rizik, administratori se pozivaju da odmah ažuriraju svoje sisteme verzijama jezgra sistema koje sadrže ispravljeni kôd.

Ispravka rješava problem tako što obezbjeđuje ispravnu sinhronizaciju tokom inicijalizacije referentnog brojača, sprečavajući uslove utrkivanja procesa koji bi mogli da dovedu do scenarija upotrebe nakon oslobađanja. Bitno je napomenuti da mnoge distribucije nisu integrisale ispravku u svoja najnovija izdanja u vreme otkrića. Ranjivost utiče na više Linux distribucija, uključujući Red Hat Enterprise Linux derivate i Fedora. Korisnici treba da provjere da se njihovi sistemi pokreću sa ispravljenim verzijama jezgra sistema kako bi umanjili potencijalne rizike od eksploatacije.

 

ZAKLJUČAK

Otkriće ranjivosti CVE-2024-36904 naglašava važnost proaktivne revizije jezgra sistema i primjene praksi sigurnosnih ispravki. Iako je Linux poznat po svojoj robusnosti, nije imun na bezbjednosne propuste. Zbog toga bi trebalo sprovoditi redovne revizije koje mogu pomoći da se identifikuju potencijalne ranjivosti pre nego što ih zlonamjerni akteri iskoriste.

Programeri jezgra sistema treba da daju prioritet pregledima kôda i testiranju tokom razvoja kako bi osigurali da nove funkcije nenamjerno ne uvode ranjivosti. Pored toga, alati kao što je KASAN mogu se koristiti za otkrivanje problema u vezi sa memorijom tokom procesa razvoja, pomažući da se spriječi da takvi nedostaci dođu do proizvodnih okruženja.

Organizacije takođe treba da ulažu u obuku svog IT osoblja o najnovijim bezbjednosnim praksama i trendovima. Redovno ažuriranje znanja o novim prijetnjama i ranjivostima je ključno za održavanje bezbjednog okruženja. Ovakve proaktivne mjere mogu pomoći u zaštiti sistema od potencijalne eksploatacije poznatih ranjivosti.

Uprkos tome, odgovor Linux zajednice na takva otkrića je svjedočanstvo njene otpornosti i posvećenosti bezbjednosti. Kada se prijave ranjivosti, programeri neumorno rade kako bi kreirali ispravke i distribuirali ih pogođenim distribucijama. Ovaj pristup saradnje osigurava da sistemi ostanu sigurni i ažurirani. Kako se napreduje u razvoju softvera, od suštinske je važnosti da se nastavi sa ulaganjem u istraživanje, razvoj i poboljšanje bezbjednosnih mjera jezgra sistema kako bi se obezbijedio kontinuirani integritet i pouzdanost Linux operativnih sistema širom sveta.

 

ZAŠTITA

U nastavku će biti navedeno nekoliko preporuka od potencijalnih rizika eksploatacije povezanih sa ovom ranjivošću:

  1. Administratorima se preporučuje da ažuriraju svoje sisteme verzijama jezgra sistema koje sadrže ispravljeni kôd što je pre moguće. Ova ispravki rješava problem tako što obezbjeđuje ispravnu sinhronizaciju tokom inicijalizacije referentnog brojača, čime se sprečavaju utrkivanja procesa koji bi mogli da dovedu do scenarija upotrebe nakon oslobađanja;
  2. Korisnici treba da provjere da li njihovi sistemi pokreću ispravljeno jezgro sistema nakon ažuriranja. Ovaj proces verifikacije osigurava da je sistem zaista zaštićen od ranjivosti Linux jezgra sistema;
  3. Pošto ranjivosti mogu da postoje neporemećeno godinama, organizacije bi trebalo da daju prioritet pravovremenim ažuriranjima kako bi ublažile rizike povezane sa zastarelim nedostacima. Redovna provjera i primjena ažuriranja sistema je proaktivna mjera koja pomaže u održavanju bezbjednog okruženja;
  4. Kontinuirana evolucija Linux jezgra sistema zahteva rigorozne prakse revizije. Redovne provjere pomažu da se rano identifikuju potencijalne ranjivosti, omogućavajući administratorima da odmah primjene ispravke i smanjuju rizik od iskorišćavanja;
  5. U slučaju otkrivene ranjivosti kao što je ranjivost Linux jezgra sistema, brz odgovor je ključan. Ovo uključuje primjenu ispravki koje je obezbijedio proizvođač za pogođene distribucije čim postanu dostupne;

Zaštita Linux sistema od ranjivosti jezgra sistema zahteva proaktivan pristup koji naglašava pravovremena ažuriranja, rigorozne prakse revizije i brz odgovor na otkrivanje ranjivosti. Prateći ove preporuke, moguće je održavati bezbjedno okruženja za sisteme zasnovane na Linux operativnom sistemu i smanjiti potencijalne rizike eksploatacije povezane sa ovom ranjivošću.

Možda vas interesuje i...

Komentariši

Vaša email adresa neće biti objavljivana. Neophodna polja su označena sa *


The reCAPTCHA verification period has expired. Please reload the page.