Bluetooth orqali masofadan turib Linux yadrosidagi zaifliklar

Linux yadrosida zaiflik (CVE-2022-42896) aniqlandi, undan potentsial ravishda Bluetooth orqali maxsus ishlab chiqilgan L2CAP paketini yuborish orqali yadro darajasida masofaviy kod bajarilishini tashkil qilish uchun foydalanish mumkin. Bundan tashqari, L2022CAP ishlov beruvchisida yana bir shunga o'xshash muammo aniqlangan (CVE-42895-2), bu konfiguratsiya ma'lumotlari bo'lgan paketlardagi yadro xotirasi tarkibining oqib ketishiga olib kelishi mumkin. Birinchi zaiflik 2014-yil avgust oyidan beri (yadro 3.16), ikkinchisi esa 2011-yil oktabr oyidan (yadro 3.0) paydo bo‘lmoqda. Zaifliklar Linux yadrosining 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 va 5.15.78 versiyalarida ko'rib chiqilgan. Quyidagi sahifalarda tarqatishdagi tuzatishlarni kuzatishingiz mumkin: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Masofaviy hujumni amalga oshirish imkoniyatini ko'rsatish uchun Ubuntu 22.04 da ishlaydigan prototip ekspluatatsiyalar nashr etildi. Hujumni amalga oshirish uchun tajovuzkor Bluetooth diapazonida bo'lishi kerak - oldindan ulanish shart emas, lekin Bluetooth kompyuterda faol bo'lishi kerak. Hujum uchun jabrlanuvchi qurilmasining MAC manzilini bilish kifoya, uni hidlash orqali aniqlash yoki ba'zi qurilmalarda Wi-Fi MAC manzili asosida hisoblash mumkin.

Birinchi zaiflik (CVE-2022-42896) l2cap_connect va l2cap_le_connect_req funktsiyalarini amalga oshirishda allaqachon bo'shatilgan xotira maydoniga (foydalanishdan keyin bepul) kirish natijasida yuzaga keladi - new_connection qayta qo'ng'iroq orqali kanal yaratilgandan so'ng, blokirovka o'rnatilmagan. buning uchun, lekin taymer o'rnatildi (__set_chan_timer ), vaqt tugashi bilan, l2cap_chan_timeout funksiyasini chaqirib, l2cap_le_connect* funksiyalarida kanal bilan ishlashning tugallanishini tekshirmasdan kanalni tozalash.

Odatiy vaqt - 40 soniya va bunday kechikish bilan poyga holati yuzaga kelishi mumkin emas deb taxmin qilingan, ammo SMP ishlov beruvchisidagi boshqa xato tufayli taymerga bir lahzada qo'ng'iroq qilish va natijaga erishish mumkinligi ma'lum bo'ldi. poyga holati. l2cap_le_connect_req-dagi muammo yadro xotirasining oqishi, l2cap_connect-da esa xotira tarkibini qayta yozish va uning kodini bajarishga olib kelishi mumkin. Birinchi turdagi hujum Bluetooth LE 4.0 (2009 yildan), ikkinchisi Bluetooth BR/EDR 5.2 (2020 yildan) yordamida amalga oshirilishi mumkin.

Ikkinchi zaiflik (CVE-2022-42895) l2cap_parse_conf_req funksiyasidagi qoldiq xotira sizib chiqishi bilan bog‘liq bo‘lib, undan maxsus tayyorlangan konfiguratsiya so‘rovlarini yuborish orqali yadro tuzilmalariga ko‘rsatgichlar haqidagi ma’lumotlarni masofadan olish uchun foydalanish mumkin. l2cap_parse_conf_req funktsiyasi l2cap_conf_efs strukturasidan foydalangan, buning uchun ajratilgan xotira oldindan ishga tushirilmagan va FLAG_EFS_ENABLE bayrog'ini boshqarish orqali paketga stekdagi eski ma'lumotlarni kiritish mumkin edi. Muammo faqat yadro CONFIG_BT_HS opsiyasi bilan qurilgan tizimlarda paydo bo'ladi (sukut bo'yicha o'chirilgan, lekin Ubuntu kabi ba'zi tarqatishlarda yoqilgan). Muvaffaqiyatli hujum, shuningdek, boshqaruv interfeysi orqali HCI_HS_ENABLED parametrini rost (sukut bo'yicha ishlatilmaydi) ga o'rnatishni talab qiladi.

Manba: opennet.ru

a Izoh qo'shish