U jezgri Linuxa identificirane su ranjivosti koje se mogu iskoristiti u nf_tables, watch_queue i IPsec

U jezgri Linuxa identificirano je nekoliko opasnih ranjivosti koje lokalnom korisniku omogućuju povećanje privilegija u sustavu. Za sve probleme koji se razmatraju pripremljeni su radni prototipovi exploita.

  • Ranjivost (CVE-2022-0995) u podsustavu praćenja događaja watch_queue dopušta upisivanje podataka u međuspremnik izvan granica u memoriji kernela. Napad može izvesti bilo koji neprivilegirani korisnik i rezultirati pokretanjem koda s pravima jezgre. Ranjivost postoji u funkciji watch_queue_set_size() i povezana je s pokušajem brisanja svih pokazivača na popisu, čak i ako memorija nije dodijeljena za njih. Problem se javlja kod izgradnje kernela s opcijom "CONFIG_WATCH_QUEUE=y", koja se koristi u većini distribucija Linuxa.

    Ranjivost je riješena u promjeni kernela dodanoj 11. ožujka. Objave ažuriranja paketa u distribucijama možete pratiti na ovim stranicama: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Prototip iskorištavanja već je javno dostupan i omogućuje vam dobivanje root pristupa kada radite na Ubuntu 21.10 s kernelom 5.13.0-37.

    U jezgri Linuxa identificirane su ranjivosti koje se mogu iskoristiti u nf_tables, watch_queue i IPsec

  • Ranjivost (CVE-2022-27666) u modulima kernela esp4 i esp6 s implementacijom ESP transformacija (Encapsulating Security Payload) za IPsec, koja se koristi pri korištenju IPv4 i IPv6. Ranjivost omogućuje lokalnom korisniku s normalnim privilegijama da prebriše objekte u memoriji kernela i eskalira svoje privilegije na sustavu. Problem je uzrokovan nedostatkom usklađivanja između dodijeljene veličine memorije i stvarno primljenih podataka, s obzirom na to da maksimalna veličina poruke može premašiti maksimalnu veličinu memorije dodijeljenu za strukturu skb_page_frag_refill.

    Ranjivost je popravljena u kernelu 7. ožujka (popravljena u 5.17, 5.16.15 itd.). Objave ažuriranja paketa u distribucijama možete pratiti na ovim stranicama: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Radni prototip eksploatacije, koji običnom korisniku omogućuje dobivanje root pristupa Ubuntu Desktopu 21.10 u zadanoj konfiguraciji, već je objavljen na GitHubu. Tvrdi se da će uz manje izmjene exploit raditi i na Fedori i Debianu. Važno je napomenuti da je exploit izvorno bio pripremljen za natjecanje pwn2own 2022, ali programeri kernela identificirali su i ispravili bug povezan s njim, pa je odlučeno da se otkriju detalji ranjivosti.

  • Dvije ranjivosti (CVE-2022-1015, CVE-2022-1016) u podsustavu netfilter u modulu nf_tables koji osigurava rad filtera paketa nftables. Prvi problem omogućuje lokalnom neprivilegiranom korisniku postizanje pisanja izvan granica dodijeljenog međuspremnika na stogu. Do preljeva dolazi prilikom obrade izraza nftables koji su formatirani na određeni način i obrađuju se tijekom faze provjere indeksa koje je odredio korisnik koji ima pristup pravilima nftables.

    Ranjivost je uzrokovana činjenicom da su programeri implicirali da je vrijednost "enum nft_registers reg" jedan bajt, a kada su određene optimizacije bile omogućene, kompajler je, prema specifikaciji C89, mogao koristiti 32-bitnu vrijednost za to . Zbog ove značajke veličina koja se koristi prilikom provjere i dodjele memorije ne odgovara stvarnoj veličini podataka u strukturi, što dovodi do preklapanja repa strukture s pokazivačima na stogu.

    Problem se može iskoristiti za izvršavanje koda na razini jezgre, ali uspješan napad zahtijeva pristup nftables, koji se može dobiti u zasebnom mrežnom prostoru imena s pravima CLONE_NEWUSER ili CLONE_NEWNET (na primjer, ako možete pokrenuti izolirani spremnik). Ranjivost je također usko povezana s optimizacijama koje koristi kompajler, a koje su, na primjer, omogućene prilikom izgradnje u načinu rada “CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y”. Iskorištavanje ranjivosti moguće je počevši od Linux kernela 5.12.

    Druga ranjivost u netfilteru uzrokovana je pristupom već oslobođenom području memorije (use-after-free) u rukovatelju nft_do_chain i može dovesti do curenja neinicijaliziranih područja memorije kernela, koja se mogu pročitati kroz manipulacije s izrazima nftables i koristiti, na primjer, za određivanje adresa pokazivača tijekom razvoja iskorištavanja drugih ranjivosti. Iskorištavanje ranjivosti moguće je počevši od Linux kernela 5.13.

    Ranjivosti su riješene u današnjim zakrpama kernela 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 i 4.9.309. Objave ažuriranja paketa u distribucijama možete pratiti na ovim stranicama: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Istraživač koji je identificirao probleme najavio je pripremu radnih exploita za obje ranjivosti, koji se planiraju objaviti za nekoliko dana, nakon što distribucije objave ažuriranja paketa kernela.

Izvor: opennet.ru

Dodajte komentar