Sistemə uzaqdan hücum etməyə imkan verən Broadcom WiFi çipləri üçün drayverlərdə zəifliklər

Broadcom simsiz çipləri üçün sürücülərdə aşkara çıxardı dördüncü zəifliklər. Ən sadə halda, zəifliklər uzaqdan xidmətdən imtinaya səbəb olmaq üçün istifadə edilə bilər, lakin naməlum təcavüzkarın xüsusi hazırlanmış paketlər göndərməklə öz kodunu Linux nüvəsi imtiyazları ilə icra etməyə imkan verən istismarların hazırlana biləcəyi ssenariləri istisna etmək olmaz.

Problemlər Broadcom proqram təminatının tərs mühəndisliyi ilə müəyyən edilib. Təsirə məruz qalan çiplər noutbuklarda, smartfonlarda və SmartTV-lərdən tutmuş əşyaların interneti cihazlarına qədər müxtəlif istehlak cihazlarında geniş istifadə olunur. Xüsusilə, Broadcom çipləri Apple, Samsumg və Huawei kimi istehsalçıların smartfonlarında istifadə olunur. Maraqlıdır ki, Broadcom zəifliklər barədə hələ 2018-ci ilin sentyabrında məlumatlandırılıb, lakin avadanlıq istehsalçıları ilə razılaşdırılaraq düzəlişlərin buraxılması təxminən 7 ay çəkdi.

İki boşluq daxili proqram təminatına təsir edir və potensial olaraq kodun Broadcom çiplərində istifadə edilən əməliyyat sisteminin mühitində icrasına imkan verir ki, bu da Linux-dan istifadə etməyən mühitlərə hücum etməyə imkan verir (məsələn, Apple cihazlarına hücum ehtimalı təsdiqlənib) CVE-2019-8564). Xatırladaq ki, bəzi Broadcom Wi-Fi çipləri 4 simsiz yığınının (FullMAC) tətbiqləri ilə oxşar əməliyyat sistemini idarə edən ixtisaslaşmış prosessordur (ARM Cortex R3 və ya M802.11). Belə çiplərdə sürücü əsas sistemin Wi-Fi çipinin proqram təminatı ilə qarşılıqlı əlaqəsini təmin edir. FullMAC-a təhlükə yarandıqdan sonra əsas sistem üzərində tam nəzarəti əldə etmək üçün əlavə zəifliklərdən istifadə etmək və ya bəzi çiplərdə sistem yaddaşına tam girişdən istifadə etmək təklif olunur. SoftMAC ilə çiplərdə, 802.11 simsiz yığını sürücü tərəfində həyata keçirilir və sistem CPU-dan istifadə etməklə həyata keçirilir.

Sistemə uzaqdan hücum etməyə imkan verən Broadcom WiFi çipləri üçün drayverlərdə zəifliklər

Sürücü zəiflikləri həm xüsusi wl sürücüsündə (SoftMAC və FullMAC), həm də açıq mənbəli brcmfmac-da (FullMAC) baş verir. Wl drayverində iki bufer daşması aşkar edildi, giriş nöqtəsi əlaqə danışıqları prosesi zamanı xüsusi formatlaşdırılmış EAPOL mesajlarını ötürərkən istifadə olunur (hücum zərərli giriş nöqtəsinə qoşulduqda həyata keçirilə bilər). SoftMAC ilə bir çip vəziyyətində, zəifliklər sistem nüvəsinin kompromisinə gətirib çıxarır və FullMAC vəziyyətində kod proqram təminatı tərəfində icra edilə bilər. brcmfmac bufer daşması və nəzarət çərçivələrinin göndərilməsi ilə istifadə edilən çərçivə yoxlama xətası ehtiva edir. Linux nüvəsindəki brcmfmac sürücüsü ilə bağlı problemlər idi aradan qaldırıldı fevral ayında.

Müəyyən edilmiş zəifliklər:

  • CVE-2019-9503 - proshivka ilə qarşılıqlı əlaqə üçün istifadə edilən idarəetmə çərçivələrini emal edərkən brcmfmac sürücüsünün səhv davranışı. Firmware hadisəsi olan çərçivə xarici mənbədən gəlirsə, sürücü onu rədd edir, lakin hadisə daxili avtobus vasitəsilə qəbul edilirsə, çərçivə atlanır. Problem ondadır ki, USB istifadə edən cihazlardan gələn hadisələr daxili avtobus vasitəsilə ötürülür ki, bu da təcavüzkarlara USB interfeysi ilə simsiz adapterlərdən istifadə edərkən mikroproqram idarəetmə çərçivələrini uğurla ötürməyə imkan verir;
  • CVE-2019-9500 – “Simsiz LAN-da oyanma” funksiyası aktiv olduqda, xüsusi olaraq dəyişdirilmiş idarəetmə çərçivəsini göndərməklə brcmfmac drayverində (brcmf_wowl_nd_results funksiyası) bir yığın daşmasına səbəb ola bilərsiniz. Bu boşluqdan çip pozulduqdan sonra əsas sistemdə kodun icrasını təşkil etmək üçün və ya idarəetmə çərçivəsinin uzaqdan göndərilməsi halında yoxlamalardan yan keçmək üçün CVE-2019-9503 zəifliyi ilə birlikdə istifadə edilə bilər;
  • CVE-2019-9501 - istehsalçının məlumat sahəsinin məzmunu 32 baytdan çox olan mesajların işlənməsi zamanı baş verən wl drayverində (wlc_wpa_sup_eapol funksiyası) bufer daşması;
  • CVE-2019-9502 - İstehsalçı məlumat sahəsinin məzmunu 164 baytdan çox olan mesajları emal edərkən wl drayverində bufer daşması (wlc_wpa_plumb_gtk funksiyası) baş verir.

Mənbə: opennet.ru

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