Skip to content

HID: wacom: fix out-of-bounds read in wacom_intuos_bt_irq#503

Merged
Pinglinux merged 1 commit into
linuxwacom:masterfrom
flying-elephant:fix-bt-irq
Apr 8, 2026
Merged

HID: wacom: fix out-of-bounds read in wacom_intuos_bt_irq#503
Pinglinux merged 1 commit into
linuxwacom:masterfrom
flying-elephant:fix-bt-irq

Conversation

@flying-elephant

Copy link
Copy Markdown
Contributor

The wacom_intuos_bt_irq() function processes Bluetooth HID reports
without sufficient bounds checking. A maliciously crafted short report
can trigger an out-of-bounds read when copying data into the wacom
structure.

Specifically, report 0x03 requires at least 22 bytes to safely read
the processed data and battery status, while report 0x04 (which
falls through to 0x03) requires 32 bytes.

Add explicit length checks for these report IDs and log a warning if
a short report is received.

Signed-off-by: Benoît Sevens bsevens@google.com
Reviewed-by: Jason Gerecke jason.gerecke@wacom.com
Signed-off-by: Jiri Kosina jkosina@suse.com
[tatsunosuke.tobita@wacom.com: Imported into input-wacom (2f1763f62909)]
Signed-off-by: Tatsunosuke Tobita tatsunosuke.tobita@wacom.com
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/hid/wacom_wac.c?h=v7.0-rc6&id=2f1763f62909ccb6386ac50350fa0abbf5bb16a9

The wacom_intuos_bt_irq() function processes Bluetooth HID reports
without sufficient bounds checking. A maliciously crafted short report
can trigger an out-of-bounds read when copying data into the wacom
structure.

Specifically, report 0x03 requires at least 22 bytes to safely read
the processed data and battery status, while report 0x04 (which
falls through to 0x03) requires 32 bytes.

Add explicit length checks for these report IDs and log a warning if
a short report is received.

Signed-off-by: Benoît Sevens <bsevens@google.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
[tatsunosuke.tobita@wacom.com: Imported into input-wacom (2f1763f62909)]
Signed-off-by: Tatsunosuke Tobita <tatsunosuke.tobita@wacom.com>
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/hid/wacom_wac.c?h=v7.0-rc6&id=2f1763f62909ccb6386ac50350fa0abbf5bb16a9
@Pinglinux Pinglinux merged commit 08f9075 into linuxwacom:master Apr 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants