V jadre Linuxu boli identifikované zneužiteľné zraniteľnosti v nf_tables, watch_queue a IPsec

V jadre Linuxu bolo identifikovaných niekoľko nebezpečných zraniteľností, ktoré umožňujú lokálnemu používateľovi zvýšiť svoje privilégiá v systéme. Pre všetky zvažované problémy boli pripravené funkčné prototypy exploitov.

  • Chyba zabezpečenia (CVE-2022-0995) v podsystéme sledovania udalostí watch_queue umožňuje zapisovanie údajov do vyrovnávacej pamäte mimo hraníc v pamäti jadra. Útok môže vykonať ktorýkoľvek neprivilegovaný používateľ a výsledkom je spustenie jeho kódu s právami jadra. Zraniteľnosť existuje vo funkcii watch_queue_set_size() a je spojená s pokusom o vymazanie všetkých ukazovateľov v zozname, aj keď pre ne nebola pridelená pamäť. Problém nastáva pri zostavovaní jadra s voľbou „CONFIG_WATCH_QUEUE=y“, ktorá sa používa vo väčšine distribúcií Linuxu.

    Zraniteľnosť bola vyriešená v zmene jadra pridanej 11. marca. Publikácie aktualizácií balíkov v distribúciách môžete sledovať na týchto stránkach: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Prototyp exploitu je už verejne dostupný a umožňuje vám získať root prístup pri spustení na Ubuntu 21.10 s jadrom 5.13.0-37.

    V jadre Linuxu boli identifikované zneužiteľné zraniteľnosti v nf_tables, watch_queue a IPsec

  • Zraniteľnosť (CVE-2022-27666) v moduloch jadra esp4 a esp6 s implementáciou transformácií ESP (Encapsulating Security Payload) pre IPsec, ktoré sa používajú pri používaní IPv4 a IPv6. Zraniteľnosť umožňuje lokálnemu používateľovi s normálnymi oprávneniami prepisovať objekty v pamäti jadra a eskalovať ich oprávnenia v systéme. Problém je spôsobený nedostatočným zosúladením medzi veľkosťou pridelenej pamäte a skutočne prijatými údajmi, pretože maximálna veľkosť správy môže presiahnuť maximálnu veľkosť pamäte pridelenej pre štruktúru skb_page_frag_refill.

    Zraniteľnosť bola v jadre opravená 7. marca (opravená v 5.17, 5.16.15 atď.). Publikácie aktualizácií balíkov v distribúciách môžete sledovať na týchto stránkach: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Funkčný prototyp exploitu, ktorý umožňuje bežnému používateľovi získať root prístup k Ubuntu Desktop 21.10 v predvolenej konfigurácii, už bol zverejnený na GitHub. Tvrdí sa, že s malými zmenami bude exploit fungovať aj na Fedore a Debiane. Je pozoruhodné, že exploit bol pôvodne pripravený pre súťaž pwn2own 2022, ale vývojári jadra identifikovali a opravili chybu s tým spojenú, takže bolo rozhodnuté zverejniť podrobnosti o zraniteľnosti.

  • Dve zraniteľnosti (CVE-2022-1015, CVE-2022-1016) v subsystéme netfilter v module nf_tables, ktorý zabezpečuje činnosť filtra paketov nftables. Prvý problém umožňuje miestnemu neprivilegovanému používateľovi dosiahnuť zakázaný zápis do pridelenej vyrovnávacej pamäte v zásobníku. K pretečeniu dochádza pri spracovaní výrazov nftables, ktoré sú naformátované určitým spôsobom a sú spracované počas fázy kontroly indexov zadaných používateľom, ktorý má prístup k pravidlám nftables.

    Zraniteľnosť je spôsobená skutočnosťou, že vývojári naznačili, že hodnota „enum nft_registers reg“ bola jeden bajt, keď keď boli povolené určité optimalizácie, kompilátor podľa špecifikácie C89 mohol použiť 32-bitovú hodnotu. . Vďaka tejto vlastnosti veľkosť použitá pri kontrole a prideľovaní pamäte nezodpovedá skutočnej veľkosti údajov v štruktúre, čo vedie k prekrývaniu konca štruktúry s ukazovateľmi v zásobníku.

    Problém je možné zneužiť na spustenie kódu na úrovni jadra, ale úspešný útok vyžaduje prístup k nftables, ktoré je možné získať v samostatnom mennom priestore siete s právami CLONE_NEWUSER alebo CLONE_NEWNET (napríklad ak môžete spustiť izolovaný kontajner). Zraniteľnosť úzko súvisí aj s optimalizáciami používanými kompilátorom, ktoré sú napríklad povolené pri zostavovaní v režime „CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y“. Zneužitie tejto zraniteľnosti je možné počnúc jadrom Linuxu 5.12.

    Druhá zraniteľnosť v netfilter je spôsobená prístupom k už uvoľnenej oblasti pamäte (use-after-free) v obslužnom programe nft_do_chain a môže viesť k úniku neinicializovaných oblastí pamäte jadra, ktoré je možné čítať prostredníctvom manipulácií s výrazmi nftables a používať, napríklad na určenie adresy ukazovateľa počas vývoja zneužívania iných zraniteľností. Využitie tejto zraniteľnosti je možné od jadra Linuxu 5.13.

    Zraniteľnosti sú riešené v dnešných záplatách jadra 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 a 4.9.309. Publikácie aktualizácií balíkov v distribúciách môžete sledovať na týchto stránkach: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Výskumník, ktorý identifikoval problémy, oznámil prípravu pracovných exploitov pre obe zraniteľnosti, ktorých zverejnenie je plánované v priebehu niekoľkých dní po tom, čo distribúcie vydajú aktualizácie balíkov jadra.

Zdroj: opennet.ru

Pridať komentár