Linux ядросының осалдықтары Bluetooth арқылы қашықтан пайдаланылады

Linux ядросында осалдық (CVE-2022-42896) анықталды, оны Bluetooth арқылы арнайы жасалған L2CAP пакетін жіберу арқылы ядро ​​деңгейінде қашықтан кодты орындауды ұйымдастыру үшін әлеуетті түрде пайдалануға болады. Бұған қоса, L2022CAP өңдегішінде басқа ұқсас мәселе (CVE-42895-2) анықталды, ол конфигурация ақпараты бар пакеттердегі ядро ​​жады мазмұнының ағып кетуіне әкелуі мүмкін. Бірінші осалдық 2014 жылдың тамызынан бастап (ядро 3.16), ал екіншісі 2011 жылдың қазанынан бастап (ядро 3.0) пайда болды. Осалдықтар Linux ядросының 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 және 5.15.78 шығарылымдарында қарастырылған. Түзетулерді дистрибуциялардағы келесі беттерде бақылай аласыз: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Қашықтан шабуыл жасау мүмкіндігін көрсету үшін Ubuntu 22.04 жүйесінде жұмыс істейтін прототиптік эксплуатациялар жарияланды. Шабуыл жасау үшін шабуылдаушы Bluetooth ауқымында болуы керек — алдын ала жұптастыру қажет емес, бірақ компьютерде Bluetooth белсенді болуы керек. Шабуыл үшін жәбірленушінің құрылғысының MAC мекенжайын білу жеткілікті, оны иіскеу арқылы анықтауға болады немесе кейбір құрылғыларда Wi-Fi MAC мекенжайы негізінде есептеледі.

Бірінші осалдық (CVE-2022-42896) l2cap_connect және l2cap_le_connect_req функцияларын жүзеге асыруда бұрыннан босатылған жад аймағына (пайдаланғаннан кейін бос) қатынасу нәтижесінде туындады - new_connection кері шақыру арқылы арнаны жасағаннан кейін, құлып орнатылмады. ол үшін, бірақ таймер орнатылды (__set_chan_timer ), күту уақыты біткенде, l2cap_chan_timeout функциясын шақырып, l2cap_le_connect* функцияларындағы арнамен жұмыстың аяқталуын тексермей, арнаны тазартады.

Әдепкі күту уақыты - 40 секунд және жарыс шарты мұндай кідіріспен туындауы мүмкін емес деп есептелді, бірақ SMP өңдегішіндегі басқа қатенің салдарынан таймерге жылдам қоңырау шалуға және нәтижеге қол жеткізуге болатыны анықталды. жарыс жағдайы. l2cap_le_connect_req ақаулығы ядро ​​жадының ағып кетуіне, ал l2cap_connect ішінде жад мазмұнын қайта жазуға және оның кодын орындауға әкелуі мүмкін. Шабуылдың бірінші түрі Bluetooth LE 4.0 (2009 жылдан бастап), екіншісі Bluetooth BR/EDR 5.2 (2020 жылдан бастап) арқылы жүзеге асырылуы мүмкін.

Екінші осалдық (CVE-2022-42895) l2cap_parse_conf_req функциясындағы қалдық жадтың ағып кетуінен туындайды, ол арнайы жасалған конфигурация сұрауларын жіберу арқылы ядро ​​құрылымдарына көрсеткіштер туралы ақпаратты қашықтан алу үшін пайдаланылуы мүмкін. l2cap_parse_conf_req функциясы бөлінген жад алдын ала инициализацияланбаған l2cap_conf_efs құрылымын пайдаланды және FLAG_EFS_ENABLE жалауын өңдеу арқылы бумадағы стектен ескі деректерді қосуға болады. Мәселе тек ядро ​​CONFIG_BT_HS опциясымен құрастырылған жүйелерде пайда болады (әдепкі бойынша өшірілген, бірақ Ubuntu сияқты кейбір дистрибутивтерде қосылған). Сәтті шабуыл сонымен қатар басқару интерфейсі арқылы HCI_HS_ENABLED параметрін шын мәніне орнатуды қажет етеді (әдепкі бойынша пайдаланылмайды).

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

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