CVE-2026-10651
Təsvir
subsys/bluetooth/host/classic/sdp.c faylındakı bt_sdp_parse_attribute() funksiyası yalnız SDP yazdırıcısı buferinin tip-marker baytı və 2 baytlıq atribut ID-sini saxladığını yoxlayırdı (buf->len < 3 yoxlaması), lakin daha sonra net_buf_simple_pull_u8() vasitəsilə dördüncü baytı, məlumat elementi deskriptorunu (tipi) oxuyurdu. net_buf_simple_pull_u8() funksiyası öz yeganə sərhəd mühafizəsindən (CONFIG_ASSERT söndürüldükdə - istehsalat standartı - tərtib edilməyən bir __ASSERT_NO_MSG) əvvəl buf->data[0]-ı istinad etdiyi üçün, dəqiq üç baytlıq yazı (0x09 və ardınca 2 baytlıq atribut ID-si) məntiqi buferin sonundan bir bayt çox oxunmasına səbəb olur. Parser gələn, uzaqdan idarə olunan məlumatlar vasitəsilə əlçatandır: SDP serveri kimi çıxış edən Bluetooth BR/EDR həmyaşığı kəşf-cavab yazdırıcılarını qaytarır ki, bunlar klient qəbul buferində olduğu kimi saxlanılır və ictimai bt_sdp_get_attr()/bt_sdp_has_attr()/bt_sdp_record_parse() köməkçi funksiyaları vasitəsilə təhlil edilir. Həddən artıq oxuma yalnız daxili uzunluq seçicisi kimi istifadə olunan tək bir baytla məhdudlaşır və heç vaxt hücumçuya sızdırılmır; sonrakı uzunluq yoxlamaları yanlış formalaşmış yazını rədd edir. Buna görə də real təsir kənar hal olan xidmətdən imtinaya (yalnız yazı dəqiq xəritələnmiş yaddaş sərhədində bitdikdə xəta, yaxud CONFIG_ASSERT=y olduqda deterministik assert panikası) məhdudlaşır. Zephyr v4.3.0 və v4.4.0 versiyalarına təsir edir; uzunluq yoxlamasına sizeof(type) əlavə edilərək düzəldilmişdir.
Necə düzəltmək olar
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| zephyrproject zephyr | v ≤ 4.4.1 | — |
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.