10
Před několika dny byla zveřejněna zpráva, že V linuxovém jádře byly identifikovány dvě zranitelnosti první z nich je již katalogizován jako CVE-2022-0435 a byl nalezen v modulu jádra Linuxu, který zajišťuje provoz síťového protokolu TIPC (Transparent Inter-Process Communication).
Tato chyba zabezpečení mohl umožnit spuštění kódu na úrovni jádra odesláním paketu do speciálně navržené sítě.
Problém ovlivňuje pouze systémy s načteným modulem jádra tipc.ko a nakonfigurován pomocí zásobníku TIPC, který se obvykle používá v clusterech a není standardně povolen na nespecializovaných distribucích Linuxu.
Zranitelnost je způsobeno přetečením zásobníku, ke kterému dochází při zpracování paketů, hodnota pole s počtem členských uzlů domény, ve kterých přesahuje 64.
Pro uložení parametrů uzlů v modulu tipc.ko pole nastavuje "u32 members[64 ]", ale v procesu zpracování toho, co je uvedeno v balíčku. Číslo uzlu nekontroluje hodnotu „member_cnt“, která umožňuje použití hodnot větších než 64 pro řízené přepisování dat v oblasti paměti níže. zásobník za strukturou "dom_bef".
Protokol TIPC byl původně vyvinut společností Ericsson, je určen k organizaci komunikace mezi procesy v clusteru a je aktivován především na uzlech clusteru. TIPC může pracovat přes Ethernet i UDP (síťový port 6118).
Při práci přes Ethernet může být útok proveden z místní sítě a při použití UDP z globální sítě, pokud port není pokryt firewallem. Útok může také provést místní uživatel bez oprávnění na hostiteli. Chcete-li povolit TIPC, musíte načíst modul jádra tipc.ko a nakonfigurovat vazbu na síťové rozhraní pomocí netlink nebo utility tipc.
Je to zmíněno při sestavování jádra v režimu "CONFIG_FORTIFY_SRC=y". (používá se v RHEL), který přidává další kontroly hranic do funkce memcpy(), provoz je omezen na nouzové zastavení (jádro přejde do stavu „Kernel Panic“).
Pokud je spuštěn bez dalších kontrol a uniknou informace o kanárských příznacích používaných k ochraně zásobníku, lze problém použí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 exploitu je triviální a bude odhalena po rozsáhlém odstranění zranitelnosti v distribucích.
Chyba, která generovala zranitelnost, byla představena 15. června 2016 a stal se součástí jádra Linuxu 4.8. zranitelnost opraveno 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.
Další zranitelnost který byl nalezen v linuxovém jádře je CVE-2022-24122 v kódu pro zpracování omezení rlimit v různých uživatelských jmenných prostorech.
Chyba byla představena ve změně přidané v létě 2021, přesunutí implementace některých čítačů RLIMIT k použití struktury "ucounts". Objekty "ucounts" vytvořené pro RLIMIT byly nadále používány po uvolnění paměti, která jim byla přidělena (use-after-free) odstraněním jmenného prostoru s nimi spojeného, což umožnilo provádění jejich kódu na úrovni jádra.
Zneužití zranitelnosti neprivilegovaným uživatelem je možné pouze v případě, že systém má neprivilegovaný přístup k jmennému prostoru identifikátoru uživatele (neprivilegovaný uživatelský jmenný prostor), který je ve výchozím nastavení povolen v Ubuntu a Fedoře, ale není povolen v Debianu a RHEL.
Řešením k zablokování této chyby zabezpečení můžete zakázat neprivilegovaný přístup k oboru názvů uživatele:
sysctl -w kernel.unprivileged_userns_clone=0
Problém existuje již od linuxového jádra 5.14 a bude opraven v aktualizacích 5.16.5 a 5.15.19. Stabilní větve Debianu, Ubuntu, SUSE/openSUSE a RHEL nejsou tímto problémem ovlivněny, ale objevují se v nových jádrech Fedory a Arch Linuxu.