Skip to content
Threat Feed
high advisory

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

  1. Attacker ensures the process has write permissions to /dev/uhid (e.g., membership in uhid group).
  2. Attacker initializes a virtual HID device via uhid.
  3. Attacker submits a maliciously crafted HID descriptor containing HID_DG_PEN, HID_DG_STYLUS, and HID_DG_TOOLSERIALNUMBER usages.
  4. Attacker uses 2-byte usage items (0x1A/0x2A) to avoid truncation and trigger the OOB read loop.
  5. The wacom driver binds to the virtual device and processes the descriptor.
  6. The wacom_wac_pen_serial_enforce() function accesses memory out-of-bounds due to an improper loop limit based on field->maxusage.
  7. Leaked kernel memory values are written to MSC_SERIAL and reported to /dev/input/eventN.
  8. Attacker reads the MSC_SERIAL event 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 9aa237cf6649 or stable branch fix eaa7d29341ef.
  • 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/uhid and subsequently monitor /dev/input/event* nodes if those processes are not trusted HID services.

Immediate actions

Patch Linux kernel to the identified fixed versions.

IT Operations 48h

Threat Hunt

Monitor for suspicious use of /dev/uhid by non-authorized users or services

T1068 medium medium confidence hunt now

Data: Auditd/syslog for open() or write() calls to /dev/uhid

Mitigations

Restrict permissions on /dev/uhid to authorized system users only.

immediate IT Operations

CVE-2026-98499