V jedru Linuxa so bile odkrite ranljivosti, ki jih je mogoče izkoristiti v nf_tables, watch_queue in IPsec

V jedru Linuxa je bilo odkritih več nevarnih ranljivosti, ki lokalnemu uporabniku omogočajo, da poveča svoje privilegije v sistemu. Za vse obravnavane probleme so pripravljeni delujoči prototipi exploitov.

  • Ranljivost (CVE-2022-0995) v podsistemu za sledenje dogodkov watch_queue omogoča zapisovanje podatkov v medpomnilnik izven meja v pomnilniku jedra. Napad lahko izvede kateri koli neprivilegirani uporabnik in povzroči, da se njegova koda izvaja s pravicami jedra. Ranljivost obstaja v funkciji watch_queue_set_size() in je povezana s poskusom brisanja vseh kazalcev na seznamu, tudi če zanje ni bil dodeljen pomnilnik. Težava se pojavi pri gradnji jedra z možnostjo "CONFIG_WATCH_QUEUE=y", ki se uporablja v večini distribucij Linuxa.

    Ranljivost je bila odpravljena v spremembi jedra, dodani 11. marca. Objave posodobitev paketov v distribucijah lahko spremljate na teh straneh: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Prototip izkoriščanja je že javno dostopen in vam omogoča pridobitev korenskega dostopa, ko se izvaja v Ubuntu 21.10 z jedrom 5.13.0-37.

    V jedru Linuxa so bile odkrite ranljivosti, ki jih je mogoče izkoristiti v nf_tables, watch_queue in IPsec

  • Ranljivost (CVE-2022-27666) v modulih jedra esp4 in esp6 z implementacijo transformacij ESP (Encapsulating Security Payload) za IPsec, ki se uporablja pri uporabi IPv4 in IPv6. Ranljivost omogoča lokalnemu uporabniku z običajnimi privilegiji, da prepiše objekte v pomnilniku jedra in poveča svoje privilegije v sistemu. Težavo povzroča pomanjkanje usklajevanja med dodeljeno velikostjo pomnilnika in dejanskimi prejetimi podatki, glede na to, da lahko največja velikost sporočila preseže največjo velikost pomnilnika, dodeljeno za strukturo skb_page_frag_refill.

    Ranljivost je bila odpravljena v jedru 7. marca (popravljeno v 5.17, 5.16.15 itd.). Objave posodobitev paketov v distribucijah lahko spremljate na teh straneh: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Delujoč prototip izkoriščanja, ki običajnemu uporabniku omogoča pridobitev korenskega dostopa do Ubuntu Desktop 21.10 v privzeti konfiguraciji, je že objavljen na GitHubu. Trdi se, da bo z manjšimi spremembami izkoriščanje delovalo tudi na Fedori in Debianu. Omeniti velja, da je bil izkoriščanje prvotno pripravljeno za tekmovanje pwn2own 2022, vendar so razvijalci jedra identificirali in popravili hrošč, povezan z njim, zato je bilo odločeno, da se razkrijejo podrobnosti o ranljivosti.

  • Dve ranljivosti (CVE-2022-1015, CVE-2022-1016) v podsistemu netfilter v modulu nf_tables, ki zagotavlja delovanje filtra paketov nftables. Prva težava omogoča lokalnemu neprivilegiranemu uporabniku, da doseže pisanje izven meja v dodeljeni medpomnilnik v skladu. Do preliva pride pri obdelavi izrazov nftables, ki so oblikovani na določen način in se obdelujejo med fazo preverjanja indeksov, ki jih določi uporabnik, ki ima dostop do pravil nftables.

    Ranljivost je posledica dejstva, da so razvijalci implicirali, da je vrednost "enum nft_registers reg" en sam bajt, ko pa so bile določene optimizacije omogočene, je prevajalnik v skladu s specifikacijo C89 za to lahko uporabil 32-bitno vrednost . Zaradi te funkcije velikost, uporabljena pri preverjanju in dodeljevanju pomnilnika, ne ustreza dejanski velikosti podatkov v strukturi, kar povzroči, da se rep strukture prekriva s kazalci na skladu.

    Težavo je mogoče izkoristiti za izvajanje kode na ravni jedra, vendar uspešen napad zahteva dostop do nftables, ki jih je mogoče pridobiti v ločenem omrežnem imenskem prostoru s pravicami CLONE_NEWUSER ali CLONE_NEWNET (na primer, če lahko zaženete izoliran vsebnik). Ranljivost je tesno povezana tudi z optimizacijami, ki jih uporablja prevajalnik, ki so na primer omogočene pri gradnji v načinu “CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y”. Izkoriščanje ranljivosti je možno od jedra Linuxa 5.12.

    Druga ranljivost v netfilterju je posledica dostopa do že sproščenega pomnilniškega območja (use-after-free) v upravljalniku nft_do_chain in lahko povzroči uhajanje neinicializiranih območij pomnilnika jedra, ki jih je mogoče prebrati z manipulacijami z izrazi nftables in uporabiti, na primer za določitev naslovov kazalcev med razvojnim izkoriščanjem drugih ranljivosti. Izkoriščanje ranljivosti je možno od jedra Linuxa 5.13.

    Ranljivosti so obravnavane v današnjih popravkih jedra 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 in 4.9.309. Objave posodobitev paketov v distribucijah lahko spremljate na teh straneh: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Raziskovalec, ki je identificiral težave, je napovedal pripravo delujočih podvigov za obe ranljivosti, ki naj bi bili objavljeni v nekaj dneh, potem ko distribucije izdajo posodobitve paketov jedra.

Vir: opennet.ru

Dodaj komentar