Udaljena ranjivost u jezgru Linuxa koja se manifestira prilikom korištenja TIPC protokola

U Linux jezgru, koje podržava mrežni protokol TIPC (Transparent Inter-process Communication), otkrivena je ranjivost (CVE-2022-0435), koja potencijalno omogućava izvršenje vlastitog koda na razini jezgre slanjem posebno oblikovanog mrežnog paketa. Problem se odnosi samo na sustave s učitanim TIPC modulom jezgre tipc.ko i postavljenim TIPC stogom, koji se obično koristi u klasterima i prema zadanim postavkama nije aktiviran u općenitim Linux distribucijama.

Primjećuje se da se prilikom sastavljanja jezgre u načinu "CONFIG_FORTIFY_SRC=y" (koji se koristi u RHEL) i dodaje dodatne provjere granica u funkciju memcpy(), eksploatacija ograničava na rušavanje rada (jezgra ulazi u stanje panike). Kada se izvršava bez dodatnih provjera i u slučaju curenja informacija o kanaričnim oznakama koje se koriste za zaštitu stogova, problem se može iskoristiti za daljinsko izvršenje koda s pravima jezgre. Istraživači koji su otkrili problem navode da je tehnika eksploatacije trivijalna i bit će otkrivena nakon što se ranjivost općenito ukloni iz distribucija.

Ranjivost je uzrokovana prekomjernim punjenjem stoga, koje se događa tijekom obrade paketa, gdje vrijednost polja s brojem sudionika domenu, koja prelazi 64. Za pohranu parametara čvorova u modulu tipc.ko koristi se fiksni niz "u32 members[64]", ali tijekom obrade navedene u paketu broja čvora ne provodi se provjera vrijednosti "member_cnt", što omogućuje korištenje vrijednosti većih od 64 za kontrolirano prepisivanje podataka u području memorije nakon strukture "dom_bef".

Uzgajana greška koja dovodi do ranjivosti unijeta je 15. lipnja 2016. i ušla je u Linux jezgro 4.8. Ranjivost je ispravljena u izdanjima Linux jezgre 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 i 4.9.301. U jezgrima većine distribucija problem još uvijek ostaje neispravljeni: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

TIPC protokol je prvotno razvila kompanija Ericsson, dizajniran za organizaciju međuprocesne komunikacije u klasteru, i aktivira se uglavnom na čvorovima klastera. TIPC može raditi kako iznad Ethernet-a, tako i iznad UDP-a (mrežni port 6118). U slučaju rada iznad Ethernet-a, napad može biti izveden iz lokalne mreže, a prilikom korištenja UDP-a — iz globalne mreže, ako port nije zaštićen vatrozidom. Napad također može biti izveden od strane neprivilegiranog lokalnog korisnika hosta. Za aktivaciju TIPC-a potrebno je učitati modul jezgra tipc.ko i postaviti vezu na mrežnom sučelju putem netlink-a ili alata tipc.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster