Linux Kernel: Wacom HID driver out-of-bounds heap read (CVE-2026-98499)
A kernel heap out-of-bounds read vulnerability in the Linux wacom HID driver allows unprivileged users with access to /dev/uhid to leak KASLR slide and kernel heap addresses via maliciously crafted HID descriptors.
CVE search metadata
CVE search record: CVE-2026-98499. Severity: high. CVSS: 8.1. EPSS: 0.39%. KEV: no. Product: Linux Kernel (< 6.12.58). Brief: Linux Kernel: Wacom HID driver out-of-bounds heap read (CVE-2026-98499). Brief link: https://feed.craftedsignal.io/briefs/2026-11-linux-wacom-hid-oob/
Triage facts
Revision 1- Applicability
- Linux Kernel (< 6.12.58)
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 3 public sources
- Freshness
- Revision 1Nov 7, 06:21 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- B2Likely
CVE-2026-98499 is a kernel heap out-of-bounds (OOB) read vulnerability located in wacom_wac_pen_serial_enforce(). The flaw occurs when the driver processes HID descriptors with specific usage configurations, allowing an attacker to walk past the received report buffer. Exploitation results in the extraction of kernel memory values, which are delivered to userspace as MSC_SERIAL input events. A public proof-of-concept exists that demonstrates the information leak of KASLR slide and uhid_device heap base on Linux kernels through version 6.12.58.
Attack Chain
- Attacker ensures the process has write permissions to
/dev/uhid(e.g., membership inuhidgroup). - Attacker initializes a virtual HID device via
uhid. - Attacker submits a maliciously crafted HID descriptor containing
HID_DG_PEN,HID_DG_STYLUS, andHID_DG_TOOLSERIALNUMBERusages. - Attacker uses 2-byte usage items (
0x1A/0x2A) to avoid truncation and trigger the OOB read loop. - The wacom driver binds to the virtual device and processes the descriptor.
- The
wacom_wac_pen_serial_enforce()function accesses memory out-of-bounds due to an improper loop limit based onfield->maxusage. - Leaked kernel memory values are written to
MSC_SERIALand reported to/dev/input/eventN. - Attacker reads the
MSC_SERIALevent from the input node to recover kernel pointers.
Impact
Successful exploitation allows an unprivileged local user to bypass KASLR and leak sensitive kernel heap pointers. While the current PoC lacks a write primitive, these leaks are critical prerequisites for more complex kernel exploitation chains.
Recommendation
- Patch the kernel immediately using upstream commit
9aa237cf6649or stable branch fixeaa7d29341ef. - Audit system configurations for access to
/dev/uhid. Restrict write access to this device node to only necessary and trusted service accounts to prevent local users from creating virtual HID devices. - Implement monitoring for processes that interact with
/dev/uhidand subsequently monitor/dev/input/event*nodes if those processes are not trusted HID services.
Immediate actions
Patch Linux kernel to the identified fixed versions.
Threat Hunt
Monitor for suspicious use of /dev/uhid by non-authorized users or services
Data: Auditd/syslog for open() or write() calls to /dev/uhid
Mitigations
Restrict permissions on /dev/uhid to authorized system users only.
CVE-2026-98499