Dobësi në distancë në kernelin Linux që ndodh kur përdorni protokollin TIPC

Një dobësi (CVE-2022-0435) është identifikuar në modulin e kernelit Linux që siguron funksionimin e protokollit të rrjetit TIPC (Transparent Inter-process Communication), duke lejuar që kodi të ekzekutohet në nivelin e kernelit duke dërguar një rrjet të projektuar posaçërisht pako. Problemi prek vetëm sistemet me modulin e kernelit tipc.ko të ngarkuar dhe të konfiguruar pirgun TIPC, i cili zakonisht përdoret në grupe dhe nuk aktivizohet si parazgjedhje në shpërndarjet jo të specializuara të Linux.

Vihet re se kur ndërtohet kerneli në modalitetin "CONFIG_FORTIFY_SRC=y" (përdoret në RHEL), i cili shton kontrolle shtesë të kufijve në funksionin memcpy(), funksionimi kufizohet në një ndalesë emergjente (kerneli bie në panik). Nëse ekzekutohet pa kontrolle shtesë dhe nëse informacioni në lidhje me etiketat e kanarit të përdorur për të mbrojtur pirgun rrjedh, problemi mund të shfrytëzohet për ekzekutimin e kodit në distancë me të drejtat e kernelit. Studiuesit që identifikuan problemin pretendojnë se teknika e shfrytëzimit është e parëndësishme dhe do të zbulohet pas eliminimit të gjerë të cenueshmërisë në shpërndarje.

Dobësia shkaktohet nga një tejmbushje e stivit që ndodh gjatë përpunimit të paketave, vlera e fushës me numrin e nyjeve të anëtarëve të domenit në të cilat kalon 64. Për të ruajtur parametrat e nyjeve në modulin tipc.ko, një grup fiks “u32 anëtarë[64 ]” përdoret, por në procesin e përpunimit të specifikuar në paketë, numri i nyjës nuk kontrollon vlerën e "member_cnt", e cila lejon që vlerat më të mëdha se 64 të përdoren për mbishkrimin e kontrolluar të të dhënave në zonën e kujtesës në vijim. në strukturën "dom_bef" në rafte.

Defekti që çon në cenueshmërinë u prezantua më 15 qershor 2016 dhe u përfshi në kernelin Linux 4.8. Dobësia u adresua në versionet 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 dhe 4.9.301 të kernelit Linux. Në kernelet e shumicës së shpërndarjeve problemi mbetet i pazgjidhur: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Protokolli TIPC u zhvillua fillimisht nga Ericsson, i krijuar për të organizuar komunikimin ndër-procesor në një grup dhe aktivizohet kryesisht në nyjet e grupimit. TIPC mund të funksionojë ose përmes Ethernetit ose UDP (porta e rrjetit 6118). Kur punoni mbi Ethernet, sulmi mund të kryhet nga rrjeti lokal, dhe kur përdorni UDP, nga rrjeti global nëse porti nuk mbulohet nga një mur zjarri. Sulmi mund të kryhet gjithashtu nga një përdorues lokal i paprivilegjuar i hostit. Për të aktivizuar TIPC, duhet të shkarkoni modulin e kernelit tipc.ko dhe të konfiguroni lidhjen me ndërfaqen e rrjetit duke përdorur netlink ose programin tipc.

Burimi: opennet.ru

Shto një koment