Executive brief
The Linux kernel's HID driver for Wacom tablets incorrectly stored timestamp values from input devices in 32-bit integer variables instead of the proper 64-bit kernel timestamp type. This caused timestamp calculations to overflow, resulting in incorrect values being reported to user applications. In some cases, these corrupted timestamps caused input event handling in graphical applications to appear unresponsive.
Technical details
The vulnerability is an integer overflow in the HID wacom driver (drivers/hid/wacom_wac.c). The root cause is the use of signed 32-bit `int` type for variables (`time_interval`, `event_timestamp`, `time_delayed`) that store kernel timestamp values from `ktime_get()`, which returns a 64-bit `ktime_t` type. When these large timestamp values are truncated into 32-bit integers, they overflow and produce incorrect values. The bug manifests in the Wacom Intuos Pro 2 Bluetooth device handler where timestamps for input events are calculated and reported to userspace. No network access or elevated privileges are required; any local user with access to a Wacom tablet device can trigger the issue. The fix, committed 2023-06-08, changes the affected variables to use `ktime_t` type and replaces integer division with `div_u64()` for proper 64-bit arithmetic.
Affected products
- Linux Linux Kernel Multiple versions including 4.x through 6.x (affected by commit 17d793f3ed53 through fix in 2023-06-08)
Timeline
- 2023-06-08: disclosed: Fix published by Jason Gerecke
- 2023-07-05: patched: Integrated into stable kernel releases
- 2025-12-09: other: CVE-2023-53797 assigned and published on NVD