CVE-2026-13213
Təsvir
subsys/bluetooth/audio/has.c faylındakı Hearing Access Service (HAS) GATT serveri, BT_CONN_CB_DEFINE vasitəsilə şərtsiz olaraq bağlantı geri çağırışını (connection-callback) quraşdırır, buna görə də tətbiq bt_has_register() funksiyasını çağırmazdan əvvəl belə, təhlükəsizliyi təmin edən hər bir bağlantı üçün security_changed() işə düşür. hearing_aid_features_attr, preset_control_point_attr və active_preset_index_attr xidmət atribut göstəriciləri bt_has_register() onları müəyyənləşdirib has.registered dəyərini təyin edənə qədər NULL olaraq qalır. CONFIG_BT_SETTINGS aktiv olduqda, settings_set_cb() yükləmə zamanı hər bir qoşulmuş (bonded) klientin saxlanılmış kontekstini bərpa edir və context->flags dəyərini şərtsiz olaraq BONDED_CLIENT_INIT_FLAGS (sıfırdan fərqli) olaraq təyin edir. Əvvəllər qoşulmuş olan qarşı tərəf (peer), bt_has_register() çağırılmamışdan əvvəlki startap pəncərəsi ərzində yenidən qoşulduqda və təhlükəsizliyi bərpa etdikdə, security_changed() sıfırdan fərqli bayraqları görür və notify_work_handler-i planlaşdırır; bu isə hələ də NULL olan atribut göstəricisi ilə bt_gatt_is_subscribed() funksiyasını çağırır. Bu, ya assert xətasına (bt_gatt_is_subscribed() daxilində __ASSERT(attr, ...)), ya da assert-lər kompilyasiya olunmadıqda attr->uuid-nin NULL dereferansına səbəb olur. Nəticədə, HAS periferik cihazının uzaqdan (Bluetooth, bitişik) tetiklenebilən çökməsi baş verir. Eksploytasiya üçün qarşı tərəfin daha əvvəl cihazla qoşulmuş olması və tətbiq xidməti qeydiyyatdan keçirməzdən əvvəl, yükləmə zamanı yaranan yarış pəncərəsi (race window) ərzində yenidən qoşulması tələb olunur; davamlı olaraq yenidən qoşulan qarşı tərəf fasiləni uzada bilər. Təsir yalnız xidmətdən imtinadır (DoS), yaddaşın korlanması və ya məlumat sızması baş vermir. Həll yolu security_changed() funksiyasına erkən if (!has.registered) { return; } qoruyucusunun əlavə edilməsidir, beləliklə, GATT xidməti qeydiyyatdan keçənə və onun atribut göstəriciləri etibarlı olmayana qədər heç bir bildiriş işi planlaşdırılmır.
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 | 3.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.