Zranitelnost vzdáleného jádra Linux, ke kterému dochází při použití protokolu TIPC

V modulu jádra LinuxV síťovém protokolu TIPC (Transparent Inter-process Communication) byla identifikována zranitelnost (CVE-2022-0435), která potenciálně umožňuje spuštění kódu na úrovni jádra odesláním speciálně vytvořeného síťového paketu. Problém se týká pouze systémů s načteným modulem jádra tipc.ko a nakonfigurovaným zásobníkem TIPC, který se obvykle používá v klastrech a není ve výchozím nastavení povolen v nespecializovaných distribucích. Linux.

Je třeba poznamenat, že při sestavování jádra s parametrem „CONFIG_FORTIFY_SRC=y“ (používá se v RHEL), který přidává další kontroly hranic funkce memcpy(), je zneužití omezeno na pád (jádro panikaří). Při spuštění bez těchto dodatečných kontrol a pokud dojde k úniku informací o značkách canary mark používaných k ochraně zásobníku, lze problém zneužít pro vzdálené spuštění kódu s oprávněními jádra. Výzkumníci, kteří problém objevili, uvádějí, že technika zneužití je triviální a bude odhalena po opravě zranitelnosti napříč distribucemi.

Zranitelnost je způsobena přetečením zásobníku, ke kterému dochází při zpracování paketů, hodnota pole s počtem zúčastněných uzlů doména, které přesahují 64. Modul tipc.ko používá pevné pole „u32 members[64]“ pro ukládání parametrů uzlu, ale nekontroluje hodnotu „member_cnt“ při zpracování čísla uzlu uvedeného v paketu, což umožňuje použít hodnoty větší než 64 pro řízené přepisování dat v oblasti paměti následující za strukturou „dom_bef“ na zásobníku.

Zranitelnost byla zavedena 15. června 2016 a byla zahrnuta v jádru. Linux 4.8. Tato zranitelnost byla opravena ve verzích jádra. Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 a 4.9.301. Problém zůstává nevyřešen v jádrech většiny distribucí: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Protokol TIPC, původně vyvinutý společností Ericsson, je navržen tak, aby umožňoval meziprocesovou komunikaci v clusteru a je primárně aktivován na uzlech clusteru. TIPC může fungovat přes Ethernet i UDP (síťový port 6118). Při provozu přes Ethernet může být útok spuštěn z lokální sítě, zatímco při použití UDP může být útok spuštěn z globální sítě, pokud port není chráněn firewallem. Útok může být proveden i neprivilegovaným lokálním uživatelem na hostiteli. Aktivace TIPC vyžaduje načtení modulu jádra tipc.ko a konfiguraci vazby na síťové rozhraní pomocí netlink nebo utility tipc.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster