TIPC протоколын пайдалану кезінде пайда болатын Linux ядросындағы қашықтағы осалдық

Linux ядро ​​модулінде осалдық (CVE-2022-0435) анықталды, ол TIPC (Transparent Interprocess Communication) желілік протоколының жұмысын қамтамасыз етеді, кодты ядро ​​деңгейінде арнайы жобаланған желіні жіберу арқылы орындауға мүмкіндік береді. пакет. Мәселе тек типc.ko ядро ​​модулі жүктелген және конфигурацияланған TIPC стегі бар жүйелерге әсер етеді, әдетте кластерлерде пайдаланылады және арнайы емес Linux дистрибутивтерінде әдепкі бойынша қосылмайды.

Ядроны memcpy() функциясына қосымша шекаралық тексерулерді қосатын "CONFIG_FORTIFY_SRC=y" режимінде (RHEL-де пайдаланылады) құру кезінде операция төтенше тоқтатумен шектелетіні (ядро дүрбелеңі) ескерілген. Қосымша тексерулерсіз орындалса және стекті қорғау үшін пайдаланылатын канарлық тегтер туралы ақпарат ағып кетсе, мәселені ядро ​​құқықтарымен қашықтан кодты орындау үшін пайдалануға болады. Мәселені анықтаған зерттеушілер пайдалану техникасының тривиальды екенін және таратулардағы осалдықты кеңінен жойғаннан кейін ашылатынын айтады.

Осалдық пакеттерді өңдеу кезінде пайда болатын стектің толып кетуінен туындайды, домен мүшесі түйіндерінің саны 64-тен асатын өріс мәні. Tipc.ko модулінде түйін параметрлерін сақтау үшін «u32 мүшелері[64» бекітілген массив. ]” пайдаланылады, бірақ пакетте көрсетілген өңдеу процесінде Түйін нөмірі келесі жад аймағында деректерді басқарылатын қайта жазу үшін 64-тен жоғары мәндерді пайдалануға мүмкіндік беретін "member_cnt" мәнін тексермейді. стектегі "dom_bef" құрылымына.

Осалдыққа әкелетін қате 15 жылдың 2016 маусымында енгізілді және Linux 4.8 ядросына қосылды. Осалдық Linux ядросының 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 және 4.9.301 шығарылымдарында қарастырылды. Көптеген дистрибутивтердің ядроларында мәселе шешілмеген күйінде қалады: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

TIPC хаттамасын бастапқыда Ericsson әзірлеген, кластердегі процессаралық байланысты ұйымдастыруға арналған және негізінен кластер түйіндерінде белсендірілген. TIPC Ethernet немесе UDP (желі порты 6118) арқылы жұмыс істей алады. Ethernet арқылы жұмыс істегенде, шабуыл жергілікті желіден, ал UDP пайдаланған кезде, порт брандмауэрмен қамтылмаған болса, ғаламдық желіден жүзеге асырылуы мүмкін. Шабуылды хосттың артықшылығы жоқ жергілікті пайдаланушысы да жасай алады. TIPC іске қосу үшін tipc.ko ядро ​​модулін жүктеп алып, netlink немесе tipc қызметтік бағдарламасын пайдаланып желі интерфейсімен байланыстыруды конфигурациялау қажет.

Ақпарат көзі: opennet.ru

пікір қалдыру