V linuxovém jádře byly identifikovány zneužitelné zranitelnosti v nf_tables, watch_queue a IPsec

V linuxovém jádře bylo identifikováno několik nebezpečných zranitelností, které umožňují místnímu uživateli zvýšit svá oprávnění v systému. Pro všechny zvažované problémy byly připraveny funkční prototypy exploitů.

  • Chyba zabezpečení (CVE-2022-0995) v subsystému sledování událostí watch_queue umožňuje zápis dat do vyrovnávací paměti jádra v paměti jádra. Útok může provést jakýkoli neprivilegovaný uživatel a výsledkem je spuštění jeho kódu s právy jádra. Tato chyba zabezpečení existuje ve funkci watch_queue_set_size() a je spojena s pokusem o vymazání všech ukazatelů v seznamu, i když pro ně nebyla přidělena paměť. Problém nastává při sestavování jádra s volbou "CONFIG_WATCH_QUEUE=y", která se používá ve většině distribucí Linuxu.

    Tato chyba zabezpečení byla vyřešena změnou jádra přidané 11. března. Publikace aktualizací balíčků v distribucích můžete sledovat na těchto stránkách: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Prototyp exploitu je již veřejně dostupný a umožňuje vám získat root přístup, když běží na Ubuntu 21.10 s jádrem 5.13.0-37.

    V linuxovém jádře byly identifikovány zneužitelné zranitelnosti v nf_tables, watch_queue a IPsec

  • Chyba zabezpečení (CVE-2022-27666) v modulech jádra esp4 a esp6 s implementací transformací ESP (Encapsulating Security Payload) pro IPsec, používané při použití IPv4 a IPv6. Tato chyba zabezpečení umožňuje místnímu uživateli s normálními oprávněními přepisovat objekty v paměti jádra a eskalovat svá oprávnění v systému. Problém je způsoben nedostatečným sladěním mezi velikostí přidělené paměti a skutečně přijatými daty, protože maximální velikost zprávy by mohla překročit maximální velikost paměti přidělené pro strukturu skb_page_frag_refill.

    Chyba zabezpečení byla v jádře opravena 7. března (opraveno v 5.17, 5.16.15 atd.). Publikace aktualizací balíčků v distribucích můžete sledovat na těchto stránkách: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Na GitHubu již byl zveřejněn funkční prototyp exploitu, který běžnému uživateli umožňuje získat root přístup k Ubuntu Desktop 21.10 ve výchozí konfiguraci. Tvrdí se, že s menšími změnami bude exploit fungovat také na Fedoře a Debianu. Je pozoruhodné, že exploit byl původně připraven pro soutěž pwn2own 2022, ale vývojáři jádra identifikovali a opravili chybu s tím spojenou, takže bylo rozhodnuto zveřejnit podrobnosti o zranitelnosti.

  • Dvě zranitelnosti (CVE-2022-1015, CVE-2022-1016) v subsystému netfilter v modulu nf_tables, který zajišťuje provoz paketového filtru nftables. První problém umožňuje místnímu neprivilegovanému uživateli dosáhnout zápisu mimo hranice do přidělené vyrovnávací paměti na zásobníku. K přetečení dochází při zpracování výrazů nftables, které jsou naformátovány určitým způsobem a jsou zpracovávány během fáze kontroly indexů zadaných uživatelem, který má přístup k pravidlům nftables.

    Zranitelnost je způsobena skutečností, že vývojáři naznačovali, že hodnota „enum nft_registers reg“ byla jeden bajt, když byly povoleny určité optimalizace, kompilátor pro ni mohl podle specifikace C89 použít 32bitovou hodnotu. . Kvůli této vlastnosti velikost použitá při kontrole a alokaci paměti neodpovídá skutečné velikosti dat ve struktuře, což vede k překrytí konce struktury s ukazateli na zásobníku.

    Problém lze zneužít ke spuštění kódu na úrovni jádra, ale úspěšný útok vyžaduje přístup k nftables, které lze získat v samostatném síťovém jmenném prostoru s právy CLONE_NEWUSER nebo CLONE_NEWNET (například pokud můžete spustit izolovaný kontejner). Zranitelnost také úzce souvisí s optimalizacemi používanými kompilátorem, které jsou například povoleny při sestavování v režimu „CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y“. Zneužití této chyby zabezpečení je možné počínaje linuxovým jádrem 5.12.

    Druhá zranitelnost v netfilter je způsobena přístupem k již uvolněné oblasti paměti (use-after-free) v obslužné rutině nft_do_chain a může vést k úniku neinicializovaných oblastí paměti jádra, které lze číst pomocí manipulací s výrazy nftables a používat, například k určení adres ukazatelů během vývoje zneužití jiných zranitelností. Zneužití této chyby zabezpečení je možné počínaje linuxovým jádrem 5.13.

    Chyby zabezpečení jsou řešeny v dnešních záplatách jádra 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. Publikace aktualizací balíčků v distribucích můžete sledovat na těchto stránkách: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Výzkumník, který identifikoval problémy, oznámil přípravu pracovních exploitů pro obě zranitelnosti, jejichž zveřejnění je plánováno během několika dní poté, co distribuce uvolní aktualizace balíčků jádra.

Zdroj: opennet.ru

Přidat komentář