Bluetooth vasitəsilə uzaqdan istifadə edilən Linux nüvəsindəki boşluqlar

Linux nüvəsində zəiflik (CVE-2022-42896) müəyyən edilib və potensial olaraq Bluetooth vasitəsilə xüsusi hazırlanmış L2CAP paketini göndərməklə nüvə səviyyəsində uzaqdan kodun icrasını təşkil etmək üçün istifadə oluna bilər. Bundan əlavə, L2022CAP işləyicisində digər oxşar problem (CVE-42895-2) müəyyən edilmişdir ki, bu da konfiqurasiya məlumatı olan paketlərdə nüvə yaddaşının məzmununun sızmasına səbəb ola bilər. Birinci boşluq 2014-cü ilin avqustundan (kernel 3.16), ikincisi isə 2011-ci ilin oktyabrından (kernel 3.0) görünür. Zəifliklər Linux nüvə relizlərinin 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 və 5.15.78 versiyalarında aradan qaldırılıb. Dağıtımlarda düzəlişləri aşağıdakı səhifələrdə izləyə bilərsiniz: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Uzaqdan hücumun həyata keçirilməsinin mümkünlüyünü nümayiş etdirmək üçün Ubuntu 22.04-də işləyən prototip istismarları dərc edilmişdir. Hücum həyata keçirmək üçün təcavüzkar Bluetooth diapazonunda olmalıdır — əvvəlcədən cütləşmə tələb olunmur, lakin kompüterdə Bluetooth aktiv olmalıdır. Hücum üçün qurbanın cihazının MAC ünvanını bilmək kifayətdir, onu iyləməklə müəyyən etmək olar və ya bəzi cihazlarda Wi-Fi MAC ünvanı əsasında hesablanır.

Birinci boşluq (CVE-2022-42896) l2cap_connect və l2cap_le_connect_req funksiyalarının həyata keçirilməsində artıq boşaldılmış yaddaş sahəsinə (istifadədən sonra pulsuz) daxil olmaqdan qaynaqlanır - new_connection geri çağırışı vasitəsilə kanal yaratdıqdan sonra, kilid qurulmayıb. bunun üçün, lakin bir taymer quruldu (__set_chan_timer ), fasilə müddəti bitdikdən sonra, l2cap_chan_timeout funksiyasını çağırdı və l2cap_le_connect* funksiyalarında kanalla işin tamamlanmasını yoxlamadan kanalı təmizlədi.

Varsayılan fasilə 40 saniyədir və belə bir gecikmə ilə yarış vəziyyətinin baş verə bilməyəcəyi güman edilirdi, lakin məlum oldu ki, SMP işləyicisindəki başqa bir səhvə görə taymerə ani zəng etmək və nəticə əldə etmək mümkün olub. yarış vəziyyəti. l2cap_le_connect_req-də problem nüvə yaddaşının sızmasına, l2cap_connect-də isə yaddaşın məzmununun üzərinə yazılmasına və kodunun icrasına gətirib çıxara bilər. Birinci növ hücum Bluetooth LE 4.0 (2009-cu ildən), ikincisi isə Bluetooth BR/EDR 5.2 (2020-ci ildən) istifadə etməklə həyata keçirilə bilər.

İkinci boşluq (CVE-2022-42895) l2cap_parse_conf_req funksiyasında qalıq yaddaş sızması nəticəsində yaranır ki, bu da xüsusi hazırlanmış konfiqurasiya sorğuları göndərməklə nüvə strukturlarına göstəricilər haqqında məlumatı uzaqdan əldə etmək üçün istifadə edilə bilər. l2cap_parse_conf_req funksiyası l2cap_conf_efs strukturundan istifadə etdi, bunun üçün ayrılmış yaddaş əvvəlcədən işə salınmadı və FLAG_EFS_ENABLE bayrağı ilə manipulyasiya etməklə paketə stekdən köhnə məlumatları daxil etmək mümkün oldu. Problem yalnız nüvənin CONFIG_BT_HS seçimi ilə qurulduğu sistemlərdə görünür (defolt olaraq qeyri-aktivdir, lakin Ubuntu kimi bəzi paylanmalarda aktivdir). Uğurlu hücum həm də idarəetmə interfeysi vasitəsilə HCI_HS_ENABLED parametrinin true (defolt olaraq istifadə edilmir) kimi təyin edilməsini tələb edir.

Mənbə: opennet.ru

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