CVE-2026-89999
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: HID: wacom: wacom_intuos_pro2_bt_irq funksiyasında hesabat uzunluğunun yoxlanılması wacom_intuos_pro2_bt_irq() funksiyası ötürülmüş hesabat uzunluğunu `len` parametrində qəbul edir, lakin analizdən əvvəl onu heç vaxt yoxlamır. Report-id yoxlamasından sonra o, şərtə baxılmaksızın wacom_intuos_pro2_bt_pen() funksiyasını və daha sonra features.type tərəfindən seçilən alt-analizləyicilər zəncirini çağırır ki, bunların heç biri `len` parametrini qəbul etmir: wacom_intuos_pro2_bt_pen(wacom); if (type == INTUOSP2_BT || type == INTUOSP2S_BT) { wacom_intuos_pro2_bt_touch(wacom); wacom_intuos_pro2_bt_pad(wacom); wacom_intuos_pro2_bt_battery(wacom); } else { wacom_intuos_gen3_bt_pad(wacom); wacom_intuos_gen3_bt_battery(wacom); } Hər bir alt-analizləyici wacom->data-nı sabit ofsetlər üzrə oxuyur. Hər bir budaqda toxunulan ən uzaq bayt belədir: INTUOSP2_BT / INTUOSP2S_BT: wacom_intuos_pro2_bt_pad() data[285]-i (touchring baytı) oxuyur, buna görə də hesabat ən azı 286 bayt olmalıdır; INTUOSHT3_BT ("gen3"): wacom_intuos_gen3_bt_battery() data[45]-i oxuyur, buna görə də hesabat ən azı 46 bayt olmalıdır. features.type VID/PID id_table yazısından seçilir və wacom_setup_device_quirks() hesabat deskriptorundan asılı olmayaraq həmin tip üçün pen/pad/touch girişlərini məcburi qeydiyyata alır. Beləliklə, bədniyyətli və ya nasaz işləyən cütləşdirilmiş/saxtalaşdırılmış Bluetooth periferik cihazı həmin VID/PID-ni təqdim edə bilər və hələ də data[0] == 0x80/0x81 şərtini ödəyən kifayət qədər kiçik ölçülü hesabat göndərə bilər. Driver daha sonra qəbul edilmiş hesabatın sərhədlərindən kənara çıxaraq oxuma aparır və bu baytları evdev vasitəsilə istifadəçi sahəsinə (pen və pad giriş düyünlərində MSC_SERIAL / ABS_MISC / ABS_WHEEL kimi) ötürür. Bu, konkret istifadəçi sahəsi geri-oxuma kanalı olan bir "out-of-bounds read" (sərhədlərdən kənar oxuma) hadisəsidir və arxa buferi sabit ölçülü staging buferi yerinə (kiçik) hesabat deskriptoruna uyğun ölçülən nəqliyyat vasitələrində real "out-of-bounds read" törədir. Bu, artıq bacı funksiya olan wacom_intuos_bt_irq()-də düzəldilmiş və hər bir hesabat ID-sini analizdən əvvəl minimum uzunluğa görə qoruyan 2f1763f62909 ("HID: wacom: fix out-of-bounds read in wacom_intuos_bt_irq") commit-i ilə eyni sinifli xətadır. wacom_intuos_pro2_bt_irq() funksiyası da eyni şəkildə qorunur: analizdən əvvəl, seçilmiş budağın faktiki olaraq müraciət etdiyi ən uzaq ofsetdən daha qısa olan hesabatlar rədd edilir, xəbərdarlıq verilir və proses dayandırılır. Bütün pen/touch/pad/battery zənciri hər budaq üzrə şərtə baxılmadan işlədiyi üçün maksimum ofsetə (INTUOSP2_BT/INTUOSP2S_BT üçün 286 bayt, gen3 budağı üçün 46 bayt) qarşı edilən tək bir ilkin yoxlama bütün alt-analizləyiciləri məhdudlaşdırır. Qısa hesabat zamanı 0 qaytarmaq həmçinin həmin yanlış formalaşmış hesabat üçün bu çağırışları ötürür ki, bu da təhlükəsiz və konservativ davranışdır.
Necə düzəltmək olar
- Linux Linuxd2844f3fcd058113acbe0aa110ab13ef28b98d9f, 1bfc0547b81d5861443420d19b5ed2fd533cd17f, 84781a1f3c5dc6650480be9329e6e8528939eaa0, 96dd0af7597aba2d80cc97e2f66e8b72d30ba125, 114af803e409a68e52516810ecd24df4d8ce0c68, 74ec08f7b81c2726578039ca6dea0fec136c38ea, 0cdc6cb242dd8d2731956fdf3390de094482a4b2, a8e04f3f894ccb52cfcd7e60125a9f35da4a616d və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < d2844f3fcd058113acbe0aa110ab13ef28b98d9f, 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < 1bfc0547b81d5861443420d19b5ed2fd533cd17f, 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < 84781a1f3c5dc6650480be9329e6e8528939eaa0, 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < 96dd0af7597aba2d80cc97e2f66e8b72d30ba125, 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < 114af803e409a68e52516810ecd24df4d8ce0c68, 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < 74ec08f7b81c2726578039ca6dea0fec136c38ea, 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < 0cdc6cb242dd8d2731956fdf3390de094482a4b2, 4922cd26f03c1c71bf7dd6cbdb638e7e36a4a50b ≤ v < a8e04f3f894ccb52cfcd7e60125a9f35da4a616d, 4.11 | d2844f3fcd058113acbe0aa110ab13ef28b98d9f, 1bfc0547b81d5861443420d19b5ed2fd533cd17f, 84781a1f3c5dc6650480be9329e6e8528939eaa0, 96dd0af7597aba2d80cc97e2f66e8b72d30ba125, 114af803e409a68e52516810ecd24df4d8ce0c68, 74ec08f7b81c2726578039ca6dea0fec136c38ea, 0cdc6cb242dd8d2731956fdf3390de094482a4b2, a8e04f3f894ccb52cfcd7e60125a9f35da4a616d |
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.