У Линук кернелу је идентификована рањивост (ЦВЕ-2022-42896), која се потенцијално може користити за организовање даљинског извршавања кода на нивоу кернела слањем посебно дизајнираног Л2ЦАП пакета преко Блуетоотх-а. Поред тога, идентификован је још један сличан проблем (ЦВЕ-2022-42895) у Л2ЦАП руковаоцу, што може довести до цурења садржаја меморије кернела у пакетима са информацијама о конфигурацији. Прва рањивост се појављује од августа 2014. (кернел 3.16), а друга од октобра 2011. (кернел 3.0). Рањивости су отклоњене у издањима Линук кернела 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 и 5.15.78. Можете пратити поправке у дистрибуцијама на следећим страницама: Дебиан, Убунту, Гентоо, РХЕЛ, СУСЕ, Федора, Арцх.
Да би се демонстрирала могућност извођења даљинског напада, објављени су прототипови експлоатације који раде на Убунту 22.04. Да би извршио напад, нападач мора бити у домету Блуетоотх-а — претходно упаривање није потребно, али Блуетоотх мора бити активан на рачунару. За напад је довољно знати МАЦ адресу уређаја жртве, која се може утврдити њушкањем или, на неким уређајима, израчунати на основу Ви-Фи МАЦ адресе.
Прва рањивост (ЦВЕ-2022-42896) је узрокована приступом већ ослобођеној меморијској области (усе-афтер-фрее) у имплементацији функција л2цап_цоннецт и л2цап_ле_цоннецт_рек - након креирања канала путем повратног позива нев_цоннецтион, закључавање није постављено за њега, али је постављен тајмер (__сет_цхан_тимер ), по истеку временског ограничења, позивање функције л2цап_цхан_тимеоут и брисање канала без провере завршетка рада са каналом у функцијама л2цап_ле_цоннецт*.
Подразумевано време чекања је 40 секунди и претпостављало се да стање трке не може да се јави са таквим кашњењем, али се испоставило да је због друге грешке у СМП руковачу било могуће постићи тренутни позив тајмера и постићи услови трке. Проблем у л2цап_ле_цоннецт_рек може довести до цурења меморије кернела, ау л2цап_цоннецт може довести до преписивања садржаја меморије и извршавања њеног кода. Први тип напада може да се изведе коришћењем Блуетоотх ЛЕ 4.0 (од 2009), други када се користи Блуетоотх БР/ЕДР 5.2 (од 2020).
Друга рањивост (ЦВЕ-2022-42895) је узрокована цурењем преостале меморије у функцији л2цап_парсе_цонф_рек, која се може користити за даљинско добијање информација о показивачима на структуре кернела слањем посебно креираних захтева за конфигурацију. Функција л2цап_парсе_цонф_рек користила је структуру л2цап_цонф_ефс, за коју додељена меморија није била пре-иницијализована и манипулисањем заставице ФЛАГ_ЕФС_ЕНАБЛЕ било је могуће укључити старе податке из стека у пакет. Проблем се појављује само на системима где је кернел изграђен са опцијом ЦОНФИГ_БТ_ХС (подразумевано онемогућена, али омогућена у неким дистрибуцијама, као што је Убунту). Успешан напад такође захтева постављање параметра ХЦИ_ХС_ЕНАБЛЕД преко интерфејса за управљање на тачно (не користи се подразумевано).
Извор: опеннет.ру
