CVE-2026-64364
Awaiting Analysis Awaiting Analysis - Queue

Out-of-Bounds Bit Access in Linux Kernel HID Multitouch Driver

Vulnerability report for CVE-2026-64364, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-25

Last updated on: 2026-08-11

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: HID: multitouch: fix out-of-bounds bit access on mt_io_flags mt_io_flags is a single unsigned long, but mt_process_slot(), mt_release_pending_palms() and mt_release_contacts() use it as a per-slot bitmap indexed by the slot number. That slot number is only bounded by td->maxcontacts, which is taken from the device's ContactCountMaximum feature report and can be up to 255, not by BITS_PER_LONG. As a result, a multitouch device that advertises a large contact count makes set_bit()/clear_bit() operate past the mt_io_flags word and corrupt the adjacent members of struct mt_device. The sticky-fingers release timer is the easiest way to reach this. mt_release_contacts() runs for (i = 0; i < mt->num_slots; i++) clear_bit(i, &td->mt_io_flags); with num_slots == maxcontacts. For maxcontacts around 250 the loop clears the bits that overlap td->applications.next, zeroing that list head, and the list_for_each_entry() that immediately follows then dereferences NULL. The kernel panics from timer (softirq) context. On a KASAN build this shows up as a general protection fault in mt_release_contacts() with a null-ptr-deref at offset 0x58, which is offsetof(struct mt_application, num_received). The state is reachable from an untrusted USB or Bluetooth HID multitouch device; no local privileges are required. Store the per-slot active state in a separately allocated bitmap sized for maxcontacts, the same pattern already used for pending_palm_slots, and keep only MT_IO_FLAGS_RUNNING in mt_io_flags. The two "mt_io_flags & MT_IO_SLOTS_MASK" arming checks become bitmap_empty(td->active_slots, td->maxcontacts). Move MT_IO_FLAGS_RUNNING back to bit 0. It was bumped to bit 32 by the same commit to leave the low byte for the slot bits; with the slot bits gone it fits in bit 0 again, which also keeps it within the unsigned long on 32-bit.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-25
Last Modified
2026-08-11
Generated
2026-08-14
AI Q&A
2026-07-25
EPSS Evaluated
2026-08-13
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a Linux kernel vulnerability where mt_io_flags, a single unsigned long variable, is incorrectly used as a per-slot bitmap indexed by slot number. The slot number can be up to 255, exceeding BITS_PER_LONG, causing set_bit()/clear_bit() to corrupt adjacent memory in struct mt_device. This leads to kernel panic when a malicious multitouch device triggers the sticky-fingers release timer.

Detection Guidance

This vulnerability is specific to the Linux kernel's HID multitouch driver and requires a vulnerable device connected via USB or Bluetooth. Detection involves checking the kernel version and examining connected HID devices. Use 'uname -a' to check the kernel version and 'lsusb' or 'dmesg' to identify connected HID multitouch devices. If the kernel version is vulnerable and such devices are connected, the system may be at risk.

Impact Analysis

An attacker can exploit this by connecting a malicious USB or Bluetooth HID multitouch device to trigger a kernel panic, causing system instability or denial of service. No local privileges are required, making it accessible to remote attackers.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR, HIPAA, or similar standards. It is a kernel-level memory corruption issue in Linux's HID multitouch subsystem that could lead to kernel panics or crashes when interacting with malicious USB or Bluetooth devices. Compliance impacts would only occur if such crashes disrupt systems handling sensitive data, but the CVE itself does not specify data exposure or privacy violations.

Mitigation Strategies

Update the Linux kernel to a patched version that resolves this issue. If immediate patching is not possible, consider disabling or disconnecting untrusted USB or Bluetooth HID multitouch devices until the kernel is updated. Monitor kernel security advisories for updates addressing this CVE.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-64364. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart