Vzdálená zranitelnost v jádře Linuxu, ke které dochází při použití protokolu TIPC

V modulu jádra Linuxu byla identifikována zranitelnost (CVE-2022-0435), která zajišťuje provoz síťového protokolu TIPC (Transparent Inter-process Communication), který potenciálně umožňuje spuštění kódu na úrovni jádra odesláním speciálně navržené sítě. balíček. 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 clusterech a není ve výchozím nastavení povolen na nespecializovaných distribucích Linuxu.

Je třeba poznamenat, že při sestavování jádra v režimu "CONFIG_FORTIFY_SRC=y" (používaném v RHEL), který přidává další kontroly hranic do funkce memcpy(), je provoz omezen na nouzové zastavení (jádro zpanikaří). Pokud je spuštěn bez dalších kontrol a pokud uniknou informace o značkách canary používaných k ochraně zásobníku, lze problém zneužít ke vzdálenému spuštění kódu s právy jádra. Výzkumníci, kteří problém identifikovali, tvrdí, že technika využívání je triviální a bude zveřejněna po rozsáhlém odstranění zranitelnosti v distribucích.

Zranitelnost je způsobena přetečením zásobníku, ke kterému dochází při zpracování paketů, přičemž hodnota pole s počtem uzlů členů domény překračuje 64. Pro uložení parametrů uzlů v modulu tipc.ko bylo vytvořeno pevné pole „u32 members[64 ]“, ale v procesu zpracování zadaného v paketu Číslo uzlu nekontroluje hodnotu „member_cnt“, což umožňuje použít hodnoty větší než 64 pro řízené přepisování dat v oblasti paměti. do struktury "dom_bef" na zásobníku.

Chyba vedoucí k této zranitelnosti byla představena 15. června 2016 a byla zahrnuta do jádra Linuxu 4.8. Tato chyba zabezpečení byla vyřešena ve vydáních jádra Linuxu 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 a 4.9.301. V jádrech většiny distribucí zůstává problém neopraven: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Protokol TIPC byl původně vyvinut společností Ericsson, navržený k organizaci meziprocesní komunikace v clusteru a je aktivován hlavně na uzlech clusteru. TIPC může pracovat přes Ethernet nebo UDP (síťový port 6118). Při práci přes Ethernet lze útok provést z lokální sítě a při použití UDP z globální sítě, pokud port není pokryt firewallem. Útok může také provést neprivilegovaný místní uživatel hostitele. Pro aktivaci TIPC je potřeba si stáhnout modul jádra tipc.ko a nakonfigurovat vazbu na síťové rozhraní pomocí netlinku nebo utility tipc.

Zdroj: opennet.ru

Přidat komentář