CVE-2026-64363

Yüksək

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: HID: appleir: remove() funksiyasında gözləyən key_up_timer üzrə UAF xətasının düzəldilməsi appleir_remove() funksiyası timer_delete_sync()-dən əvvəl hid_hw_stop() funksiyasını işə salır. hid_hw_stop() funksiyası hid_disconnect() -> hidinput_disconnect() -> input_unregister_device() vasitəsilə HID giriş cihazını sinxron şəkildə qeydiyyatdan çıxarır ki, bu da istifadəçi sahəsində heç bir tutacaq (handle) onu açıq saxlamadıqda sonuncu istinadı silir və altda yatan input_dev obyektini azad edir. key_up_tick() funksiyası appleir->input_dev dəyərini oxuyur və onun üzərində input_report_key() / input_sync() çağırır. Timer hər bir keydown və key-repeat hesabatında appleir_raw_event() tərəfindən HZ/8 (~125 ms) vaxtaşırımı ilə qurulur. Əgər cihaz ayrılmamış qısa müddət əvvəl düymə sıxılıbsa, timer hid_hw_stop() input_dev obyektini azad etdikdən sonra, lakin sökülmə prosesi tamamlanmadan aktivləşə bilər. Sadə ardıcıllığın dəyişdirilməsi kifayət deyil. Timer boşaltma prosesinin birinci yerləşdirilməsi belə elə bir pəncərə saxlayır ki, hid_hw_stop() zamanı işləyən USB URB tamamlanması (raw_event) mod_timer() funksiyasını çağıra və timeri yenidən qura bilər, bu isə daha sonra hidinput_disconnect() input_dev obyektini azad etdikdən sonra aktivləşir. Eyni URB-tamamlanma pəncərəsi raw_event() funksiyasının birbaşa key_up(), key_down() və battery_flat() funksiyalarına çatmasına imkan verir ki, bunların hamısı appleir->input_dev obyektinə istinad edir. Mövcud spinlock tərəfindən idarə olunan struct appleir strukturuna 'removing' bayrağı əlavə edildi. appleir_remove() kilid altında bu bayrağı təyin edir və sonra timer_shutdown_sync() ilə timeri söndürür; bu həm yolda olan bütün geri çağırışları (callback) boşaldır, həm də gələcək mod_timer() çağırışlarını qalıcı olaraq deaktiv edir. appleir_raw_event() və key_up_tick() funksiyaları bayraq təyin edildikdə prosesi erkən dayandırır, beləliklə, remove() sökülməyə başladıqdan sonra heç bir yol timeri qura, işlədə və ya appleir->input_dev obyektinə istinad edə bilməz. appleir_raw_event() funksiyasının keyrepeat və flatbattery budaqları əvvəllər spinlock-u saxlamadan giriş təbəqəsini çağırırdı; indi bayraq yoxlamasının dəqiq olması üçün kilid götürülür. Bu, eyni zamanda keyrepeat budağındakı appleir->current_key üzərində mövcud olan oxuma tərəfli yarış (race condition) problemini də həll edir. Bu xəta strukturlu olaraq 4db2af929279 ("HID: appletb-kbd: fix UAF in inactivity-timer cleanup path") commit-inin analoqudur və drayver təqdim edildiyi vaxtdan bəri mövcuddur.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc25 iyl 2026
İlk görülmə25 iyl 2026

Necə düzəltmək olar

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel3.10 ≤ v < 5.10.261, 5.11 ≤ v < 5.15.212, 5.16 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.97, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4, 7.25.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, 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.

Intelligence 360 paketində

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.

CVE-2026-64363 · Linux Kernel · Dark Radar