CVE-2025-39824
Description
In the Linux kernel, the following vulnerability has been resolved:
HID: asus: fix UAF via HID_CLAIMED_INPUT validation
After hid_hw_start() is called hidinput_connect() will eventually be called to set up the device with the input layer since the HID_CONNECT_DEFAULT connect mask is used. During hidinput_connect() all input and output reports are processed and corresponding hid_inputs are allocated and configured via hidinput_configure_usages(). This process involves slot tagging report fields and configuring usages by setting relevant bits in the capability bitmaps. However it is possible that the capability bitmaps are not set at all leading to the subsequent hidinput_has_been_populated() check to fail leading to the freeing of the hid_input and the underlying input device.
This becomes problematic because a malicious HID device like a ASUS ROG N-Key keyboard can trigger the above scenario via a specially crafted descriptor which then leads to a user-after-free when the name of the freed input device is written to later on after hid_hw_start(). Below, report 93 intentionally utilises the HID_UP_UNDEFINED Usage Page which is skipped during usage configuration, leading to the frees.
0x05, 0x0D, // Usage Page (Digitizer) 0x09, 0x05, // Usage (Touch Pad) 0xA1, 0x01, // Collection (Application) 0x85, 0x0D, // Report ID (13) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x09, 0xC5, // Usage (0xC5) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x04, // Report Count (4) 0xB1, 0x02, // Feature (Data,Var,Abs) 0x85, 0x5D, // Report ID (93) 0x06, 0x00, 0x00, // Usage Page (Undefined) 0x09, 0x01, // Usage (0x01) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x1B, // Report Count (27) 0x81, 0x02, // Input (Data,Var,Abs) 0xC0, // End Collection
Below is the KASAN splat after triggering the UAF:
[ 21.672709] ================================================================== [ 21.673700] BUG: KASAN: slab-use-after-free in asus_probe+0xeeb/0xf80 [ 21.673700] Write of size 8 at addr ffff88810a0ac000 by task kworker/1:2/54 [ 21.673700] [ 21.673700] CPU: 1 UID: 0 PID: 54 Comm: kworker/1:2 Not tainted 6.16.0-rc4-g9773391cf4dd-dirty #36 PREEMPT(voluntary) [ 21.673700] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 21.673700] Call Trace: [ 21.673700] [ 21.673700] dump_stack_lvl+0x5f/0x80 [ 21.673700] print_report+0xd1/0x660 [ 21.673700] kasan_report+0xe5/0x120 [ 21.673700] __asan_report_store8_noabort+0x1b/0x30 [ 21.673700] asus_probe+0xeeb/0xf80 [ 21.673700] hid_device_probe+0x2ee/0x700 [ 21.673700] really_probe+0x1c6/0x6b0 [ 21.673700] __driver_probe_device+0x24f/0x310 [ 21.673700] driver_probe_device+0x4e/0x220 [...] [ 21.673700] [ 21.673700] Allocated by task 54: [ 21.673700] kasan_save_stack+0x3d/0x60 [ 21.673700] kasan_save_track+0x18/0x40 [ 21.673700] kasan_save_alloc_info+0x3b/0x50 [ 21.673700] __kasan_kmalloc+0x9c/0xa0 [ 21.673700] __kmalloc_cache_noprof+0x139/0x340 [ 21.673700] input_allocate_device+0x44/0x370 [ 21.673700] hidinput_connect+0xcb6/0x2630 [ 21.673700] hid_connect+0xf74/0x1d60 [ 21.673700] hid_hw_start+0x8c/0x110 [ 21.673700] asus_probe+0x5a3/0xf80 [ 21.673700] hid_device_probe+0x2ee/0x700 [ 21.673700] really_probe+0x1c6/0x6b0 [ 21.673700] __driver_probe_device+0x24f/0x310 [ 21.673700] driver_probe_device+0x4e/0x220 [...] [ 21.673700] [ 21.673700] Freed by task 54: [ 21.673700] kasan_save_stack+0x3d/0x60 [ 21.673700] kasan_save_track+0x18/0x40 [ 21.673700] kasan_save_free_info+0x3f/0x60 [ 21.673700] __kasan_slab_free+0x3c/0x50 [ 21.673700] kfre ---truncated---
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Use-after-free in Linux kernel's ASUS HID driver due to missing validation after HID_CLAIMED_INPUT, leading to potential privilege escalation.
Vulnerability
Description CVE-2025-39824 is a use-after-free (UAF) vulnerability in the Linux kernel's HID driver for ASUS devices. The flaw occurs in hid-asus when a malicious HID descriptor triggers a scenario where the capability bitmaps are not set during hidinput_configure_usages(), causing hidinput_has_been_populated() to fail. This results in the premature freeing of the hid_input structure and its underlying input device. Later, after hid_hw_start(), the driver attempts to write to the name of the freed input device, leading to a UAF condition [1].
Attack
Vector Exploitation requires physical access to the system to connect a malicious HID device (e.g., a specially crafted ASUS ROG N-Key keyboard) that sends a descriptor using the HID_UP_UNDEFINED Usage Page. The descriptor causes the usage configuration to be skipped, triggering the freed path. No authentication is needed; the attacker only needs to supply the malicious descriptor during device enumeration.
Impact
A successful exploit could allow an attacker to achieve arbitrary code execution in kernel context, leading to privilege escalation or system compromise. The vulnerability is rated High severity with a CVSS v3 score of 7.8, indicating significant impact on confidentiality, integrity, and availability.
Mitigation
Patches have been applied to the Linux kernel stable trees [2][3][4]. Users should update to a patched kernel version. Siemens has also listed this CVE as affecting the SIMATIC CN 4100 product prior to version V5.0 [1].
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
7- cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
- Linux/Linuxv5Range: 4.10
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
11- git.kernel.org/stable/c/5f3c0839b173f7f33415eb098331879e547d1d2dnvdPatch
- git.kernel.org/stable/c/7170122e2ae4ab378c9cdf7cc54dea8b0abbbca5nvdPatch
- git.kernel.org/stable/c/72a4ec018c9e9bc52f4f80eb3afb5d6a6b752275nvdPatch
- git.kernel.org/stable/c/9a9e4a8317437bf944fa017c66e1e23a0368b5c7nvdPatch
- git.kernel.org/stable/c/a8ca8fe7f516d27ece3afb995c3bd4d07dcbe62cnvdPatch
- git.kernel.org/stable/c/c0d77e3441a92d0b4958193c9ac1c3f81c6f1d1cnvdPatch
- git.kernel.org/stable/c/d3af6ca9a8c34bbd8cff32b469b84c9021c9e7e4nvdPatch
- git.kernel.org/stable/c/eaae728e7335b5dbad70966e2bd520a731fdf7b2nvdPatch
- lists.debian.org/debian-lts-announce/2025/10/msg00007.htmlnvdMailing ListThird Party Advisory
- lists.debian.org/debian-lts-announce/2025/10/msg00008.htmlnvdMailing ListThird Party Advisory
- cert-portal.siemens.com/productcert/html/ssa-032379.htmlnvd
News mentions
1- Siemens SIMATICCISA ICS Advisories