CVE-2026-12236
Təsvir
subsys/bluetooth/host/gatt.c faylındakı Bluetooth host GATT client funksiyası olan parse_read_std_char_desc(), BT_GATT_DISCOVER_STD_CHAR_DESC kəşfi zamanı uzaq GATT serverdən alınan ATT Read By Type Response cavabını analiz edir. Hər bir giriş üçün addım məsafəsi olan rsp->len birbaşa qarşı tərəfin PDU-sundan götürülür və analiz dövrü həm çıxış şərtini yoxlayır (length >= rsp->len), həm də həmin dəyərdən istifadə edərək irəliləyir (length -= rsp->len, pdu += rsp->len). Dövr başlamazdan əvvəl rsp->len-in minimum dəyəri heç vaxt yoxlanılmayıb. Bədniyyətli və ya yanlış işləyən qarşı tərəf rsp->len = 0 ilə cavab verə bilər. length dəyişəni imzalanmamış (unsigned) olduğu və heç vaxt azalmadığı üçün dövr şərti daim doğru qalır və oxuma göstəricisi heç vaxt irəliləmir; gövdə ən azı bir neçə baytla, sıfırdan fərqli handle və uyğun descriptor UUID ilə təmin olunduğu müddətcə, host eyni baytları təkrar-təkrar analiz edir və kəşf geri çağırışını (callback) çağıraraq prosesi heç vaxt dayandırmır. Bu, Bluetooth host emal axınını dondurur (CWE-835, çatılmayan çıxış şərti olan dövr). Yerli cihaz standart-deskriptor-dəyəri kəşfini başlatdıqda, bu şərtə istənilən qoşulmuş qarşı tərəf tərəfindən çatmaq mümkündür; GATT kəşfi bağlanma (bonding) və ya şifrələmə tələb etmir, buna görə də cihazın qoşulduğu autentifikasiya olunmamış yaxın hücumçu bunu tetikleyə bilər. Təsiri Bluetooth alt sisteminin xidmətdən imtinasına (və məhdud hədəflərdə çox güman ki, watchdog reset-nə) səbəb olur; yaddaş sızması və ya korlanması baş vermir. Düzəliş, dövrdən əvvəl rsp->len < sizeof(struct bt_att_data) yoxlamasını əlavə edərək kifayət qədər uzun olmayan cavabları rədd edir, beləliklə addım məsafəsi həmişə sıfırdan fərqli olur və dövr tamamlanır. Oxşar analizçi funksiyaları olan parse_include() və parse_characteristic() artıq rsp->len dəyərini yoxladığı üçün onlar təsirlənməyib.
Necə düzəltmək olar
- zephyrproject zephyr4.4.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| zephyrproject zephyr | 2.6.0 ≤ v < 4.4.2 | 4.4.2 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.