Linux-ի միջուկի խոցելիությունները հեռակա շահագործվում են Bluetooth-ի միջոցով

Linux-ի միջուկում հայտնաբերվել է խոցելիություն (CVE-2022-42896), որը կարող է օգտագործվել միջուկի մակարդակում հեռակա կոդի կատարումը կազմակերպելու համար՝ ուղարկելով հատուկ մշակված L2CAP փաթեթ Bluetooth-ի միջոցով: Բացի այդ, մեկ այլ նմանատիպ խնդիր է հայտնաբերվել (CVE-2022-42895) L2CAP մշակիչում, որը կարող է հանգեցնել միջուկի հիշողության բովանդակության արտահոսքի կոնֆիգուրացիայի տեղեկատվություն ունեցող փաթեթներում: Առաջին խոցելիությունը ի հայտ է եկել 2014 թվականի օգոստոսից (միջուկ 3.16), իսկ երկրորդը՝ 2011 թվականի հոկտեմբերից (kernel 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 գործառույթների իրականացման ժամանակ արդեն ազատված հիշողության տարածք մուտք գործելու միջոցով. դրա համար, սակայն սահմանվել է ժամանակաչափ (__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 պարամետրը դնել true (չի օգտագործվում լռելյայն):

Source: opennet.ru

Добавить комментарий