NVD Recent CVEs
CVE-2026-64364:Linux内核中以下漏洞已修复:HID:multitouch:修复mt_io_flags的越界位访问问题
Linux内核中以下漏洞已修复:HID:multitouch:修复mt_io_flags的越界位访问问题。mt_io_flags是单个无符号长整型,但mt_process_slot()、mt_release_pending_palms()和mt_release_contacts()将其作为按槽位编号索引的每槽位位图使用。该槽位编号仅受td->maxcontacts限制,该值取自设备的ContactCountMaximum特性报告,最高可达255,而非受BITS_PER_LONG限制。因此,宣传高触点计数的多点触控设备会导致set_bit()/clear_bit()操作超出mt_io_flags字的范围,破坏mt_device结构体的相邻成员。粘滞手指释放定时器是触发此问题最简便的途径。mt_release_contacts()会执行循环:(i = 0; i < mt->num_slots; i++) clear_bit(i, &td->mt_io_flags);,其中num_slots等于maxcontacts。当maxcontacts约为250时,该循环会清除与td->applications.next重叠的位,将该链表头归零,随后立即执行的list_for_each_entry()会解引用NULL。内核会在定时器(软中断)上下文中崩溃。在KASAN构建版本中,此问题表现为mt_release_contacts()中的一般保护错误,出现空指针解引用,偏移量为0x58,即struct mt_application结构体中num_received字段的偏移量。此状态可通过不受信任的USB或蓝牙HID多点触控设备触发,无需本地权限。请存储每槽位的……