CVE-2026-31772
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: Bluetooth: hci_sync: hci_le_big_create_sync funksiyasında stek bufer daşmasının düzəldilməsi hci_le_big_create_sync() funksiyası, stekdə 0x11 (17) BIS girişi üçün yer ayırmaq məqsədilə DEFINE_FLEX vasitəsilə struct hci_cp_le_big_create_sync strukturunu təyin edir. Lakin conn->num_bis dəyişəni HCI_MAX_ISO_BIS (31) girişə qədər dəyər ala bilər — bu, çağıran hci_conn_big_create_sync() funksiyasında ISO_MAX_NUM_BIS (0x1f) ilə yoxlanılır. conn->num_bis 18 və 31 arasında olduqda, conn->bis-i cp->bis-ə kopyalayan memcpy əməliyyatı stek buferindən 14 bayta qədər artıq yazaraq bitişik stek yaddaşını korlayır. Bu, asanlıqla təkrar istehsal edilə bilir: bc_num_bis = ISO_MAX_NUM_BIS (31) ilə ISO soketini bağlamaq və listen() funksiyasını çağırmaq nəticədə HCI komanda sync işçisindən hci_le_big_create_sync() çağrılacaq və bu da KASAN tərəfindən aşkar edilə bilən stekdənkənar yazıya (stack-out-of-bounds write) səbəb olacaq: BUG: KASAN: stack-out-of-bounds in hci_le_big_create_sync+0x256/0x3b0 Write of size 31 at addr ffffc90000487b48 by task kworker/u9:0/71 Problem, DEFINE_FLEX sayının yanlış olan 0x11-dən, conn->bis-in faktiki daşıya biləcəyi maksimum BIS girişlərinin sayına uyğun olan HCI_MAX_ISO_BIS ilə dəyişdirilməsi yolu ilə həll edilmişdir.
Necə düzəltmək olar
- linux linux_kernel6.12, 6.12.81, 6.18.22, 6.19.12 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 6.11.11 ≤ v < 6.12, 6.12.2 ≤ v < 6.12.81, 6.13.1 ≤ v < 6.18.22, 6.19 ≤ v < 6.19.12, 6.13, 7.0 | 6.12, 6.12.81, 6.18.22, 6.19.12 |
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.