CVE-2026-64364

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: HID: multitouch: mt_io_flags üzərində sərhəddən kənar bit girişini düzəlt mt_io_flags tək bir unsigned long-dur, lakin mt_process_slot(), mt_release_pending_palms() və mt_release_contacts() onu slot nömrəsi ilə indekslənən hər slot üzrə bit xəritəsi kimi istifadə edir. Həmin slot nömrəsi yalnız td->maxcontacts ilə məhdudlaşır; bu dəyər cihazın ContactCountMaximum feature hesabatından götürülür və 255-ə qədər ola bilər, BITS_PER_LONG ilə deyil. Nəticədə, böyük kontakt sayı elan edən multitouch cihazı set_bit()/clear_bit() funksiyalarının mt_io_flags sözündən kənara çıxmasına və struct mt_device-in qonşu üzvlərinin korlanmasına səbəb olur. Sticky-fingers buraxma taymeri buna çatmağın ən asan yoludur. mt_release_contacts() aşağıdakı kodu icra edir for (i = 0; i < mt->num_slots; i++) clear_bit(i, &td->mt_io_flags); burada num_slots == maxcontacts. maxcontacts təxminən 250 olduqda dövrə td->applications.next ilə üst-üstə düşən bitləri təmizləyir, həmin siyahı başlığını sıfırlayır və dərhal ardınca gələn list_for_each_entry() NULL-a müraciət edir. Kernel taymer (softirq) kontekstindən panic verir. KASAN quruluşunda bu, mt_release_contacts() funksiyasında 0x58 ofsetində null-ptr-deref ilə general protection fault kimi görünür; bu ofset offsetof(struct mt_application, num_received) dəyəridir. Vəziyyət etibarsız USB və ya Bluetooth HID multitouch cihazından əlçatandır; yerli imtiyazlar tələb olunmur. Hər slot üzrə aktiv vəziyyəti maxcontacts üçün ölçülən ayrıca ayrılmış bit xəritəsində saxla — bu, artıq pending_palm_slots üçün istifadə olunan eyni naxışdır — və mt_io_flags-də yalnız MT_IO_FLAGS_RUNNING saxla. İki "mt_io_flags & MT_IO_SLOTS_MASK" silahlanma yoxlaması bitmap_empty(td->active_slots, td->maxcontacts) ilə əvəz olunur. MT_IO_FLAGS_RUNNING-i yenidən bit 0-a köçür. Aşağı baytı slot bitləri üçün boşaltmaq məqsədilə həmin commit tərəfindən o, bit 32-yə qaldırılmışdı; slot bitləri getdiyi üçün yenidən bit 0-a sığır, bu da onu 32-bitdə unsigned long daxilində saxlayır.

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

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18, 6.18.39, 7.1.4 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.10.246 ≤ v < 5.10.261, 5.15.196 ≤ v < 5.15.212, 6.1.158 ≤ v < 6.1.178, 6.6.114 ≤ v < 6.6.145, 6.12.55 ≤ v < 6.12.97, 6.17.5 ≤ v < 6.18, 6.18.1 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4, 6.18, 7.25.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18, 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-64364 · Linux Kernel · Dark Radar