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] <TASK> [ 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---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.10.242-239.961Upgrade python-perfUpgrade kernel-livepatch-5.15.191-132.213Upgrade kernel-debuginfoUpgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernel-develUpgrade perfUpgrade kernel-headersUpgrade python-perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernelUpgrade perf-debuginfo | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-toolsUpgrade kernel6.12-debuginfo-common-aarch64Upgrade perf6.12Upgrade kernel-modules-extraUpgrade bpftool-debuginfoUpgrade python3-perf6.12Upgrade kernel6.12-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-libbpf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel6.12Upgrade kernel6.12-modules-extraUpgrade bpftoolUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade kernel-livepatch-6.1.150-174.273Upgrade kernel-libbpfUpgrade python3-perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-headersUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade kernel-livepatch-6.12.46-66.121Upgrade python3-perf6.12-debuginfoUpgrade kernelUpgrade kernel6.12-debuginfoUpgrade perfUpgrade kernel-libbpf-develUpgrade kernel-headersUpgrade kernel6.12-tools-develUpgrade kernel-libbpf-staticUpgrade perf6.12-debuginfoUpgrade python3-perfUpgrade kernel6.12-libbpfUpgrade kernel-modules-extra-commonUpgrade kernel6.12-libbpf-develUpgrade bpftool6.12Upgrade kernel6.12-tools-debuginfoUpgrade bpftool6.12-debuginfoUpgrade kernel-tools-develUpgrade kernel6.12-toolsUpgrade perf-debuginfoUpgrade kernel6.12-libbpf-static | Sep 30, 2025 | Sep 16, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 25, 2025 | Sep 25, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 14, 2025 | Sep 16, 2025 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Sep 16, 2025 |
| Suse | — | Upgrade dtb-alteraUpgrade dtb-allwinnerUpgrade kernel-debugUpgrade kernel-docs-htmlUpgrade kernel-kvmsmall-vdsoUpgrade gfs2-kmp-64kbUpgrade dtb-renesasUpgrade ocfs2-kmp-64kbUpgrade dtb-freescaleUpgrade cluster-md-kmp-azureUpgrade kernel-kvmsmall-develUpgrade kernel-rt-vdsoUpgrade kernel-syms-azureUpgrade dtb-marvellUpgrade dtb-broadcomUpgrade dtb-amdUpgrade reiserfs-kmp-defaultUpgrade kernel-azure-extraUpgrade kernel-rt_debug-develUpgrade kernel-zfcpdumpUpgrade kernel-default-vdsoUpgrade ocfs2-kmp-defaultUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kernel-symsUpgrade dlm-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade kernel-64kb-optionalUpgrade kernel-kvmsmallUpgrade gfs2-kmp-rtUpgrade kernel-rt_debugUpgrade kernel-debug-vdsoUpgrade kernel-64kbUpgrade kernel-source-rtUpgrade kernel-sourceUpgrade reiserfs-kmp-64kbUpgrade kernel-default-livepatchUpgrade dtb-amazonUpgrade kernel-azureUpgrade kernel-azure-optionalUpgrade kernel-source-azureUpgrade dtb-caviumUpgrade dtb-exynosUpgrade dtb-lgUpgrade dtb-hisiliconUpgrade gfs2-kmp-azureUpgrade kernel-devel-azureUpgrade kernel-source-vanillaUpgrade kernel-rt-optionalUpgrade ocfs2-kmp-azureUpgrade kernel-default-develUpgrade dtb-appleUpgrade kernel-debug-develUpgrade reiserfs-kmp-azureUpgrade dtb-socionextUpgrade dlm-kmp-azureUpgrade kernel-develUpgrade kernel-default-optionalUpgrade kernel-defaultUpgrade dtb-mediatekUpgrade gfs2-kmp-defaultUpgrade kernel-rt-extraUpgrade dtb-xilinxUpgrade kernel-64kb-develUpgrade kselftests-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade dtb-armUpgrade kernel-macrosUpgrade dtb-amlogicUpgrade dlm-kmp-rtUpgrade kselftests-kmp-rtUpgrade kernel-obs-qaUpgrade kernel-default-manUpgrade kernel-default-livepatch-develUpgrade cluster-md-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-develUpgrade dtb-sprdUpgrade reiserfs-kmp-rtUpgrade dtb-nvidiaUpgrade kernel-rtUpgrade kernel-default-extraUpgrade kernel-default-base-rebuildUpgrade kernel-64kb-extraUpgrade dtb-rockchipUpgrade kernel-obs-buildUpgrade kernel-devel-rtUpgrade dtb-qcomUpgrade kernel-azure-vdsoUpgrade kernel-azure-develUpgrade dtb-apmUpgrade cluster-md-kmp-64kbUpgrade kernel-docsUpgrade kernel-default-baseUpgrade kernel-rt-livepatch-develUpgrade kernel-syms-rtUpgrade dlm-kmp-defaultUpgrade kernel-rt-livepatch | Dec 5, 2025 | Oct 15, 2025 |
| Ubuntu | — | Upgrade linux-image-genericUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-fips-5.15Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-generic-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-gke-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-gke-64k-6.8Upgrade linux-image-5.15.0-1102-azureUpgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-5.15.0-1080-gkeopUpgrade linux-image-azureUpgrade linux-image-5.15.0-1092-intel-iotgUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-gcp-fipsUpgrade linux-image-5.15.0-1097-awsUpgrade linux-image-nvidia-5.15Upgrade linux-image-realtime-6.8.1Upgrade linux-image-azure-fips-5.15Upgrade linux-image-6.8.0-1050-awsUpgrade linux-image-nvidia-tegraUpgrade linux-image-gkeop-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-163-lowlatencyUpgrade linux-image-azure-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-5.15.0-163-fipsUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-lowlatencyUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-nvidiaUpgrade linux-image-5.15.0-163-genericUpgrade linux-image-6.8.0-106-fipsUpgrade linux-image-fipsUpgrade linux-image-nvidia-64kUpgrade linux-image-realtime-5.15Upgrade linux-image-virtual-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-xilinx-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1097-gcpUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-realtimeUpgrade linux-image-5.15.0-1101-azureUpgrade linux-image-gcp-6.8Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-5.15.0-1097-gcp-fipsUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-gcp-5.15Upgrade linux-image-azure-fipsUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-5.15.0-1089-intel-iot-realtimeUpgrade linux-image-5.15.0-1038-nvidia-tegra-igx-rtUpgrade linux-image-virtualUpgrade linux-image-oracleUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-generic-5.15Upgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-virtual-5.15Upgrade linux-image-aws-5.15Upgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-1096-realtimeUpgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-5.15.0-1061-xilinx-zynqmpUpgrade linux-image-5.15.0-1038-nvidia-tegra-igxUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-kvmUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-5.15.0-1091-ibmUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-aws-64k-5.15Upgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-5.15.0-163-generic-64kUpgrade linux-image-5.15.0-1089-kvmUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-awsUpgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1101-azure-fipsUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1097-aws-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-5.15.0-1049-nvidia-tegraUpgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-azure-cvmUpgrade linux-image-aws-fips-6.8Upgrade linux-image-5.15.0-163-lowlatency-64kUpgrade linux-image-5.15.0-1092-nvidiaUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-64k-6.8Upgrade linux-image-raspi-nolpaeUpgrade linux-image-fips-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-oem-20.04dUpgrade linux-image-gke-64kUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-gkeopUpgrade linux-image-gke-6.8Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-azure-fips-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-generic-64k-5.15 | Dec 5, 2025 | Sep 16, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub