CVE-2026-64365
Təsvir
Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: HID: letsketch: drayverin ayrılması zamanı inrange_timer üzərində UAF-ın düzəldilməsi letsketch_driver .remove callback təqdim etmir, lakin letsketch_probe() hər cihaz üçün taymer qurur: timer_setup(&data->inrange_timer, letsketch_inrange_timeout, 0); Taymer hər qələmin diapazonda olması barədə hesabatında letsketch_raw_event() tərəfindən 100 ms timeout ilə yenidən qurulur və onun callback-i sintetik BTN_TOOL_PEN buraxılışını çatdırmaq üçün data->input_tablet-ə müraciət edir. letsketch_data devm_kzalloc() ilə ayrılır və onun input_dev sahələri letsketch_setup_input_tablet() vasitəsilə devm ilə ayrılır. Cihazın ayrılması zamanı (USB-nin çıxarılması və ya rmmod) HID nüvəsi öz standart təmizləməsini icra edir və devm təmizliyi həm letsketch_data-nı, həm də input cihazlarını azad edir. .remove callback mövcud olmadığı üçün heç nə əvvəlcə taymeri boşaltmır: əgər raw_event onu ayrılmadan təxminən 100 ms ərzində qurmuşdusa, gözləyən taymer azad edilmiş yaddaşda işə düşür. Bu, data və data->input_tablet üzərində UAF oxuması, ardınca azad edilmiş input_dev-ə input_report_key() / input_sync() çağırışıdır. Eyni problem probe xəta yolunda da baş verə bilər: əgər hid_hw_start() always-poll-quirk cihazında I/O-nu aktivləşdirib sonra uğursuz olubsa, raw_event devm data-nı azad etməzdən əvvəl taymeri qurmuş ola bilər. Düzəliş ilk növbədə hid_hw_stop() çağıran .remove callback əlavə etməklə həyata keçirilir. hid_hw_stop() raw_event() çatdıran URB-ləri sinxron şəkildə dayandırır, beləliklə o qayıtdıqdan sonra heç bir yol taymeri yenidən qura bilməz. Sonra timer_shutdown_sync() hər hansı icra olunan callback-i boşaldır və sonrakı mod_timer() çağırışlarını birdəfəlik deaktiv edir. Eyni timer_shutdown_sync() probe xəta yolunda da tətbiq olunur ki, taymerin data-dan artıq yaşamadığına zəmanət verilsin.
Necə düzəltmək olar
- linux linux_kernel6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 və ya daha yeni versiya
- git.kernel.org/stable/c/17f5928d7010bc9e002930326b59e60e40c09ee3
- git.kernel.org/stable/c/2bb6e7143cf70ed281822d26c1848b2897ac36e9
- git.kernel.org/stable/c/3eca1a8165b5e7996e699e9df76cb4645e184d42
- git.kernel.org/stable/c/46c8beeccd8ab2c863827254a85ea877654a3534
- git.kernel.org/stable/c/523db788c0f84612707638e266e8957ca7e3a756
- git.kernel.org/stable/c/df3d8aa1a9392da3de66398e7a03422463806b21
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.17 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.96, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4, 7.2 | 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 |
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.