V jedru Linux so bile odkrite izkoriščene ranljivosti v nf_tables, watch_queue in IPsec

V jedru Linux je bilo odkrito več nevarnih ranljivosti, ki omogočajo lokalnemu uporabniku zvišanje svojih privilegijev v sistemu. Za vse obravnavane težave so pripravljeni delujoči prototipi izkoriščanj.

  • Ranljivost (CVE-2022-0995) v podsistemu sledenja dogodkom watch_queue, ki povzroča zapisovanje podatkov v območje pomnilnika jedra zunaj dodeljenega pomnilniškega prostora. Napad lahko izvede kateri koli neprivilegiran uporabnik in privede do izvajanja lastne kode s pravicami jedra. Ranljivost je prisotna v funkciji watch_queue_set_size() in je povezana s poskusom čiščenja vseh kazalcev v seznamu, tudi če zanje ni bil dodeljen pomnilnik. Težava se pojavi pri sestavljanju jedra z možnostjo "CONFIG_WATCH_QUEUE=y", ki se uporablja v večini distribucij Linuxa.

    Ranljivost je bila odpravljena z izboljšavo, dodano v jedro 11. marca. Sproti lahko spremljate objave posodobitev paketov v distribucijah na teh straneh: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Prototip izkoriščanja je že javno dostopen in omogoča pridobitev root dostopa pri zagonu v Ubuntu 21.10 z jedrom 5.13.0-37.

    V jedru Linux so bile odkrite izkoriščene ranljivosti v nf_tables, watch_queue in IPsec
  • Ranljivost (CVE-2022-27666) v modulih jedra esp4 in esp6, ki izvajajo ESP pretvorbe (Encapsulating Security Payload) za IPsec, uporabljene pri uporabi IPv4 in IPv6. Ranljivost omogoča lokalnemu uporabniku z običajnimi privilegiji prepisovanje objektov v pomnilniku jedra in zvišanje svojih privilegijev v sistemu. Težava je posledica pomanjkanja preverjanja dodeljene velikosti pomnilnika in dejansko prejetih podatkov, pri čemer je lahko največja velikost sporočila presegla največjo velikost pomnilnika, dodeljenega za strukturo skb_page_frag_refill.

    Ranljivost je bila odpravljena v jedru 7. marca (popravljena v verzijah 5.17, 5.16.15 itd.). Posodobitve paketov v distribucijah lahko spremljate na naslednjih straneh: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Delujoči prototip eksploita, ki omogoča navadnemu uporabniku dostop do root uporabnika na Ubuntu Desktop 21.10 s privzetimi nastavitvami, je že objavljen na GitHubu. Trdi se, da bo eksploit deloval tudi v Fedora in Debian z manjšimi spremembami. Zanimivo je, da je bil eksploit prvotno pripravljen za tekmovanje pwn2own 2022, a so razvijalci jedra odkrili in odpravili povezano napako, zato so se odločili razkriti podrobnosti ranljivosti.

  • Dve ranljivosti (CVE-2022-1015, CVE-2022-1016) v podaljšku netfilter v modulu nf_tables, ki zagotavlja delovanje filtrov paketov nftables. Prva težava omogoča lokalnemu nepriviligiranemu uporabniku, da doseže zapis zunaj dodeljenega pomnilniškega prostora na steklu. Prelivanje se pojavi pri obdelavi določenih oblikovanih izrazov nftables, ki se obdelujejo med fazo preverjanja indeksov, ki jih določi uporabnik, ki ima dostop do pravil nftables.

    Ranljivost izhaja iz tega, da so razvijalci predvidevali, da je vrednost "enum nft_registers reg" en bajt, medtem ko lahko pri vključitvi določenih optimizacij prevajalnik v skladu s specifikacijo C89 uporabi 32-bitno vrednost. Zaradi te lastnosti nižja velikost, uporabljena pri preverjanju in dodeljevanju pomnilnika, ne ustreza dejanski velikosti podatkov v strukturi, kar povzroči prekrivanje konca strukture s kazalci v pomnilniku.

    Težavo je mogoče izkoristiti za izvajanje lastne kode na ravni jedra, vendar za uspešen napad potrebujete dostop do nftables, ki ga lahko pridobite v ločenem omrežnem imenskem prostoru (network namespaces) z pravicami CLONE_NEWUSER ali CLONE_NEWNET (na primer, ob možnosti zagon izoliranega kontejnerja). Ranljivost je tudi tesno povezana z optimizacijami, ki jih vključuje prevajalnik, ki se na primer aktivirajo pri gradnji v načinu "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y". Izkoriščanje ranljivosti je možno od jedra Linux 5.12.

    Druga ranljivost v netfilterju je posledica dostopa do že osvobojene spominske površine (use-after-free) v obdelovalniku nft_do_chain in lahko privede do puščanja neinicijaliziranih območij jedra, ki jih je mogoče brati z manipulacijo z izrazi nftables in uporabiti, na primer, za določitev naslovov kazalnikov pri razvoju eksploitov za druge ranljivosti. Izkoriščanje ranljivosti je mogoče od jedra Linux 5.13.

    Ranljivosti so odpravljene v današnjih popravnih posodobitvah 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. Sledenje objavam posodobitvenih paketov v distribucijah je mogoče na naslednjih straneh: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Raziskovalec, ki je odkril težave, je izjavil, da pripravlja delujoče eksploitne kode za obe ranljivosti, ki jih namerava objaviti čez nekaj dni, po tem ko distribucije izdate popravke paketov z jedrom.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster