Attālā ievainojamība Linux kodolā, kas rodas, izmantojot TIPC protokolu

Linux kodola modulī, kas nodrošina TIPC (Transparent Inter-process Communication) tīkla protokola darbību, ir konstatēta ievainojamība (CVE-2022-0435), kas potenciāli ļauj izpildīt kodu kodola līmenī, nosūtot speciāli izstrādātu tīklu. paciņa. Problēma skar tikai sistēmas, kurās ir ielādēts tipc.ko kodola modulis un konfigurēts TIPC steks, ko parasti izmanto klasteros un kas pēc noklusējuma nav iespējots nespecializētos Linux izplatījumos.

Jāatzīmē, ka, veidojot kodolu režīmā "CONFIG_FORTIFY_SRC=y" (izmanto RHEL), kas funkcijai memcpy () pievieno papildu robežpārbaudes, darbība tiek ierobežota līdz avārijas apturēšanai (kodola panikā). Ja tiek izpildīta bez papildu pārbaudēm un tiek nopludināta informācija par steka aizsardzībai izmantotajiem kanārijas tagiem, problēmu var izmantot attālinātai koda izpildei ar kodola tiesībām. Pētnieki, kas identificēja problēmu, apgalvo, ka izmantošanas tehnika ir triviāla un tiks atklāta pēc plaši izplatītas ievainojamības novēršanas izplatījumos.

Ievainojamību izraisa steka pārpilde, kas rodas, apstrādājot paketes, lauka vērtība ar domēna dalībnieku mezglu skaitu, kurā pārsniedz 64. Mezgla parametru glabāšanai tipc.ko modulī tiek fiksēts masīvs “u32 members[64”. ]” tiek izmantots, bet paketē norādītā apstrādes procesā mezgla numurs nepārbauda "member_cnt" vērtību, kas ļauj kontrolēti datu pārrakstīšanai atmiņas apgabalā tālāk izmantot vērtības, kas lielākas par 64. uz steka struktūru "dom_bef".

Kļūda, kas noveda pie ievainojamības, tika ieviesta 15. gada 2016. jūnijā un tika iekļauta Linux 4.8 kodolā. Ievainojamība tika novērsta Linux kodola laidienos 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 un 4.9.301. Lielākajā daļā izplatījumu kodolos problēma joprojām nav novērsta: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

TIPC protokolu sākotnēji izstrādāja Ericsson, kas paredzēts, lai organizētu starpprocesu komunikāciju klasterī, un tas tiek aktivizēts galvenokārt klasteru mezglos. TIPC var darboties, izmantojot Ethernet vai UDP (tīkla ports 6118). Strādājot, izmantojot Ethernet, uzbrukumu var veikt no lokālā tīkla un, izmantojot UDP, no globālā tīkla, ja portu neaizsedz ugunsmūris. Uzbrukumu var veikt arī nepievilcīgs vietējais resursdatora lietotājs. Lai aktivizētu TIPC, jums ir jālejupielādē tipc.ko kodola modulis un jākonfigurē saite ar tīkla interfeisu, izmantojot tīkla saiti vai tipc utilītu.

Avots: opennet.ru

Pievieno komentāru