CVE-2025-39806: HID: multitouch: fix slab out-of-bounds access in mt_report_fixup()
In the Linux kernel, the following vulnerability has been resolved:
HID: multitouch: fix slab out-of-bounds access in mt_report_fixup()
A malicious HID device can trigger a slab out-of-bounds during
mt_report_fixup() by passing in report descriptor smaller than
607 bytes. mt_report_fixup() attempts to patch byte offset 607
of the descriptor with 0x25 by first checking if byte offset
607 is 0x15 however it lacks bounds checks to verify if the
descriptor is big enough before conducting this check. Fix
this bug by ensuring the descriptor size is at least 608
bytes before accessing it.
Below is the KASAN splat after the out of bounds access happens:
[ 13.671954] ==================================================================
[ 13.672667] BUG: KASAN: slab-out-of-bounds in mt_report_fixup+0x103/0x110
[ 13.673297] Read of size 1 at addr ffff888103df39df by task kworker/0:1/10
[ 13.673297]
[ 13.673297] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Not tainted 6.15.0-00005-gec5d573d83f4-dirty #3
[ 13.673297] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/04
[ 13.673297] Call Trace:
[ 13.673297] <TASK>
[ 13.673297] dump_stack_lvl+0x5f/0x80
[ 13.673297] print_report+0xd1/0x660
[ 13.673297] kasan_report+0xe5/0x120
[ 13.673297] __asan_report_load1_noabort+0x18/0x20
[ 13.673297] mt_report_fixup+0x103/0x110
[ 13.673297] hid_open_report+0x1ef/0x810
[ 13.673297] mt_probe+0x422/0x960
[ 13.673297] hid_device_probe+0x2e2/0x6f0
[ 13.673297] really_probe+0x1c6/0x6b0
[ 13.673297] __driver_probe_device+0x24f/0x310
[ 13.673297] driver_probe_device+0x4e/0x220
[ 13.673297] __device_attach_driver+0x169/0x320
[ 13.673297] bus_for_each_drv+0x11d/0x1b0
[ 13.673297] __device_attach+0x1b8/0x3e0
[ 13.673297] device_initial_probe+0x12/0x20
[ 13.673297] bus_probe_device+0x13d/0x180
[ 13.673297] device_add+0xe3a/0x1670
[ 13.673297] hid_add_device+0x31d/0xa40
[...]
Security readout for executives and security teams
Plain-English summary
A malicious HID device, such as a crafted touchscreen-like peripheral, can trigger an out-of-bounds access in the Linux kernel HID multitouch driver during device parsing. The main business risk is systems exposed to untrusted physical or virtual HID devices. Public sources do not show active exploitation.
Executive priority
Prioritize normal security patching, with faster action for exposed endpoints, kiosks, industrial systems, or shared environments. This is not presented as internet-routable or actively exploited, but kernel bugs reachable through peripherals can matter where device access is weakly controlled.
Technical view
The bug is in mt_report_fixup(), which checks descriptor byte offset 607 before verifying the descriptor is at least 608 bytes. A descriptor shorter than 607 bytes can cause a slab out-of-bounds read during HID report parsing and device probe. Linux stable commits add the missing bounds check.
Likely exposure
Exposure is most relevant for Linux systems that accept untrusted HID devices over USB, embedded interfaces, kiosks, lab systems, or virtualized environments where HID devices can be attached. Exact exposure depends on kernel version, distro backports, and vendor product integration.
Exploitation context
The CVE text describes a malicious HID device trigger and includes a KASAN crash trace. The bundle marks KEV as false, and no cited source states active exploitation or public weaponization. Impact beyond the demonstrated out-of-bounds access is not fully characterized in the supplied evidence.
Researcher notes
Focus validation on the HID multitouch report descriptor path and the presence of the bounds check before byte offset 607 access. The supplied evidence supports a malicious-device trigger and KASAN-confirmed slab out-of-bounds read, but not broader impact claims or exploitation in the wild.
Mitigation direction
Apply Linux kernel updates from the relevant stable, distro, or vendor advisory channel.
Use Debian LTS guidance where Debian kernels are in scope.
Follow Siemens advisory guidance for affected Siemens products.
Restrict untrusted USB, console, and virtual HID attachment where patching is delayed.
Treat kiosks, labs, and shared workstations as higher priority for rollout.
Validation and detection
Inventory Linux kernel versions across servers, workstations, appliances, and embedded deployments.
Confirm whether vendor kernels include the referenced stable fixes or backports.
Identify systems where untrusted users can attach physical or virtual HID devices.
Check Debian LTS and Siemens advisories for product-specific affected versions.
Do not assume exploit indicators; none are provided in the source bundle.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-39806 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
2ADP providers
9Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Sep 16, 2025, 13:00 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.