Vzdialená zraniteľnosť v jadre Linuxu, ktorá sa vyskytuje pri používaní protokolu TIPC

V module linuxového jadra bola identifikovaná zraniteľnosť (CVE-2022-0435), ktorá zabezpečuje fungovanie sieťového protokolu TIPC (Transparent Inter-process Communication), čo potenciálne umožňuje spustenie kódu na úrovni jadra odoslaním špeciálne navrhnutej siete. paket. Problém sa týka iba systémov s načítaným modulom jadra tipc.ko a nakonfigurovaným zásobníkom TIPC, ktorý sa zvyčajne používa v klastroch a v nešpecializovaných distribúciách Linuxu nie je štandardne povolený.

Je potrebné poznamenať, že pri zostavovaní jadra v režime "CONFIG_FORTIFY_SRC=y" (používanom v RHEL), ktorý pridáva dodatočné kontroly hraníc do funkcie memcpy(), je prevádzka obmedzená na núdzové zastavenie (jadro spanikári). Ak sa vykoná bez dodatočných kontrol a ak uniknú informácie o značkách canary používaných na ochranu zásobníka, problém možno využiť na spustenie kódu na diaľku s právami jadra. Výskumníci, ktorí identifikovali problém, tvrdia, že technika využívania je triviálna a bude zverejnená po rozsiahlom odstránení zraniteľnosti v distribúciách.

Zraniteľnosť je spôsobená pretečením zásobníka, ku ktorému dochádza pri spracovaní paketov, pričom hodnota poľa s počtom uzlov členov domény presahuje 64. Na uloženie parametrov uzla v module tipc.ko je potrebné pevné pole „u32 members[64]. ]“, ale v procese spracovania špecifikovaného v pakete Číslo uzla nekontroluje hodnotu „member_cnt“, čo umožňuje použiť hodnoty väčšie ako 64 na riadené prepisovanie údajov v pamäťovej oblasti. do štruktúry "dom_bef" v zásobníku.

Chyba vedúca k zraniteľnosti bola predstavená 15. júna 2016 a bola zahrnutá do jadra Linuxu 4.8. Táto chyba zabezpečenia bola vyriešená vo vydaniach jadra Linuxu 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 a 4.9.301. V jadrách väčšiny distribúcií zostáva problém nevyriešený: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Protokol TIPC bol pôvodne vyvinutý spoločnosťou Ericsson, navrhnutý na organizovanie medziprocesovej komunikácie v klastri a je aktivovaný hlavne na uzloch klastra. TIPC môže pracovať cez Ethernet alebo UDP (sieťový port 6118). Pri práci cez Ethernet môže byť útok vykonaný z lokálnej siete a pri použití UDP z globálnej siete, ak port nie je pokrytý firewallom. Útok môže vykonať aj neprivilegovaný lokálny používateľ hostiteľa. Pre aktiváciu TIPC je potrebné stiahnuť modul jadra tipc.ko a nakonfigurovať väzbu na sieťové rozhranie pomocou netlinku alebo utility tipc.

Zdroj: opennet.ru

Pridať komentár