Oddaljena ranljivost v jedru Linuxa, ki se pojavi pri uporabi protokola TIPC

V modulu jedra Linuxa, ki zagotavlja delovanje omrežnega protokola TIPC (Transparent Inter-Process Communication), je bila ugotovljena ranljivost (CVE-2022-0435), ki potencialno omogoča izvajanje kode na ravni jedra s pošiljanjem posebej oblikovanega omrežja paket. Težava vpliva samo na sisteme z naloženim modulom jedra tipc.ko in konfiguriranim skladom TIPC, ki se običajno uporablja v gručah in ni privzeto omogočen v nespecializiranih distribucijah Linuxa.

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 je posledica prelivanja sklada, do katerega pride pri obdelavi paketov, pri čemer vrednost polja s številom vozlišč člana domene presega 64. Za shranjevanje parametrov vozlišča v modulu tipc.ko je fiksno polje »u32 members[64 ]« se uporablja, vendar v procesu obdelave, podane v paketu Številka vozlišča ne preveri vrednosti »member_cnt«, ki omogoča, da se vrednosti, večje od 64, uporabijo za nadzorovano prepisovanje podatkov v območju pomnilnika naslednji na strukturo "dom_bef" na skladu.

Napaka, ki je povzročila ranljivost, je bila predstavljena 15. junija 2016 in je bila vključena v jedro Linuxa 4.8. Ranljivost je bila odpravljena v izdajah jedra Linuxa 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 in 4.9.301. V jedrih večine distribucij težava ostaja nepopravljena: 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

Dodaj komentar