V modulu jedra LinuxV omrežnem protokolu TIPC (Transparent Inter-process Communication) je bila odkrita ranljivost (CVE-2022-0435), ki potencialno omogoča izvajanje kode na ravni jedra s pošiljanjem posebej oblikovanega omrežnega paketa. Težava vpliva le na sisteme z naloženim modulom jedra tipc.ko in konfiguriranim skladom TIPC, ki se običajno uporablja v gručah in v nespecializiranih distribucijah ni privzeto omogočen. Linux.
Opozoriti je treba, da je pri gradnji jedra v načinu "CONFIG_FORTIFY_SRC=y" (uporablja se v RHEL), ki doda dodatna preverjanja meja funkciji memcpy(), delovanje omejeno na zaustavitev v sili (jedro paniči). Če se izvede brez dodatnih preverjanj in če informacije o kanarčkovih oznakah, ki se uporabljajo za zaščito sklada, uhajajo, se lahko težava izkoristi za oddaljeno izvajanje kode s pravicami jedra. Raziskovalci, ki so identificirali težavo, trdijo, da je tehnika izkoriščanja trivialna in bo razkrita po obsežni odpravi ranljivosti v distribucijah.
Ranljivost povzroča prelivanje sklada, ki se pojavi pri obdelavi paketov, vrednost polja s številom udeleženskih vozlišč domena, ki presegajo 64. Modul tipc.ko uporablja fiksno tabelo "u32 members[64]" za shranjevanje parametrov vozlišč, vendar pri obdelavi številke vozlišča, navedene v paketu, ne preverja vrednosti "member_cnt", kar omogoča uporabo vrednosti, večjih od 64, za nadzorovano prepisovanje podatkov v pomnilniškem območju, ki sledi strukturi "dom_bef" na skladu.
Ranljivost je bila predstavljena 15. junija 2016 in je bila vključena v jedro. Linux 4.8. Ranljivost je bila odpravljena v izdajah jedra. Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 in 4.9.301. Težava ostaja neodpravljena v jedrih večine distribucij: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.
Protokol TIPC je prvotno razvil Ericsson, zasnovan je za organizacijo medprocesne komunikacije v gruči in se aktivira predvsem na vozliščih gruče. TIPC lahko deluje prek Etherneta ali UDP (omrežna vrata 6118). Pri delu preko Etherneta se napad lahko izvede iz lokalnega omrežja, pri uporabi UDP pa iz globalnega omrežja, če vrata niso pokrita s požarnim zidom. Napad lahko izvede tudi neprivilegiran lokalni uporabnik gostitelja. Če želite aktivirati TIPC, morate prenesti modul jedra tipc.ko in konfigurirati vezavo na omrežni vmesnik s pomočjo netlink ali pripomočka tipc.
Vir: opennet.ru
