Skip to content
OpenAdvisories
High · 8.1 CVE-2026-89999 EUVD-2026-80607GHSA-4g38-8hm5-638j

HID: wacom: validate report length in wacom_intuos_pro2_bt_irq

Published Sep 16, 2026 · Updated Oct 19, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-6.12 Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-7.0 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.17 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-7.0 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.15 Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.17 Package: linux-azure-fde-6.2 Package: linux-azure-fde-6.8 Package: linux-azure-fde-7.0 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-azure-nvidia-6.14 Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-7.0 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.14 Package: linux-hwe-6.17 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-7.0 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-7.0 Package: linux-nvidia-bos Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.14 Package: linux-oem-6.17 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oem-7.0 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-oracle-7.0 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.17 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-riscv-7.0 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

HID: wacom: validate report length in wacom_intuos_pro2_bt_irq

wacom_intuos_pro2_bt_irq() receives the wire report length in `len`
but never consults it before parsing. After the report-id gate it
unconditionally calls wacom_intuos_pro2_bt_pen() and then, selected by
features.type, a fixed chain of sub-parsers, none of which receive
`len`:

wacom_intuos_pro2_bt_pen(wacom);
if (type == INTUOSP2_BT || type == INTUOSP2S_BT) {
wacom_intuos_pro2_bt_touch(wacom);
wacom_intuos_pro2_bt_pad(wacom);
wacom_intuos_pro2_bt_battery(wacom);
} else {
wacom_intuos_gen3_bt_pad(wacom);
wacom_intuos_gen3_bt_battery(wacom);
}

Each sub-parser dereferences wacom->data at fixed offsets. The furthest
byte touched on each branch is:

INTUOSP2_BT / INTUOSP2S_BT: wacom_intuos_pro2_bt_pad() reads data[285]
(the touchring byte), so the report must be at least 286 bytes;
INTUOSHT3_BT ("gen3"): wacom_intuos_gen3_bt_battery() reads data[45],
so the report must be at least 46 bytes.

features.type is selected from the VID/PID id_table entry and
wacom_setup_device_quirks() force-registers the pen/pad/touch inputs
for that type independent of the report descriptor, so a malicious or
malfunctioning paired/spoofed Bluetooth peripheral can advertise that
VID/PID and send an undersized report that still satisfies the
data[0] == 0x80/0x81 gate. The driver then reads past the received
report and forwards the bytes to userspace via evdev (MSC_SERIAL /
ABS_MISC / ABS_WHEEL on the pen and pad input nodes), an out-of-bounds
read with a concrete userspace read-back channel, and a true
out-of-bounds read on transports whose backing buffer is sized to the
(small) report descriptor rather than a fixed-size staging buffer.

This is the same class of bug commit 2f1763f62909 ("HID: wacom: fix
out-of-bounds read in wacom_intuos_bt_irq") already hardened in the
sibling wacom_intuos_bt_irq(), which guards each report id against its
minimum length before parsing.

Guard wacom_intuos_pro2_bt_irq() the same way: before parsing, reject
reports shorter than the furthest offset the selected branch actually
dereferences, warn, and bail out. Because the whole pen/touch/pad/
battery chain runs unconditionally per branch, a single up-front check
against the maximum offset (286 bytes for INTUOSP2_BT/INTUOSP2S_BT,
46 bytes for the gen3 branch) bounds every sub-parser. Returning 0 on
a short report also skips those calls for the same malformed report,
which is the safe, conservative behavior.

Affected products

VendorProductAffectedFixed
Linux Linux 4.11 5.10.270

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 7.2.6-1 —
Debian 13 linux 6.12.111-1 —
Debian 12 linux 6.1.190-1 —
Debian 12 linux-6.12 6.12.111-1~deb12u1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield 6.8.0-1036.41 —
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1103.105 —
Ubuntu 26.04 LTS linux 7.0.0-42.42 USN-8959-1
Ubuntu 26.04 LTS linux-aws 7.0.0-1016.17 USN-8959-1
Ubuntu 26.04 LTS linux-azure 7.0.0-1020.21 USN-9019-1
Ubuntu 26.04 LTS linux-azure-fde 7.0.0-1019.19 USN-9020-1
Ubuntu 26.04 LTS linux-gcp 7.0.0-1016.18 USN-8959-1
Ubuntu 26.04 LTS linux-gke 7.0.0-1010.11 USN-9020-1
Ubuntu 26.04 LTS linux-ibm +1 7.0.0-1017.17 USN-8960-1, USN-8959-1
Ubuntu 26.04 LTS linux-nvidia +1 No fix yet —
Ubuntu 26.04 LTS linux-oracle 7.0.0-1015.16 USN-8959-1
Ubuntu 26.04 LTS linux-raspi 7.0.0-1023.23 USN-9021-1
Ubuntu 26.04 LTS linux-realtime 7.0.0-43.43.1 USN-9020-1
Ubuntu 26.04 LTS linux-riscv 7.0.0-42.42.1 —
Ubuntu 24.04 LTS linux 6.8.0-149.149 USN-9022-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1069.74 USN-9022-1
Ubuntu 24.04 LTS linux-aws-7.0 7.0.0-1017.18~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-azure 6.8.0-1073.82 USN-9022-1
Ubuntu 24.04 LTS linux-azure-fde 6.8.0-1071.78 USN-9039-1
Ubuntu 24.04 LTS linux-azure-fde-7.0 7.0.0-1019.19~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-gcp 6.8.0-1073.81 USN-9022-1
Ubuntu 24.04 LTS linux-gcp-7.0 7.0.0-1017.19~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-gke 6.8.0-1068.77 USN-9022-1
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1053.57 USN-9023-1
Ubuntu 24.04 LTS linux-hwe-7.0 7.0.0-42.42~24.04.1 USN-8959-1
Ubuntu 24.04 LTS linux-ibm 6.8.0-1069.70 USN-9022-1
Ubuntu 24.04 LTS linux-lowlatency 6.8.0-149.149.1 USN-9022-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1067.70 USN-9024-1
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1067.70.1 USN-9040-1
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1038.42 USN-9002-1
Ubuntu 24.04 LTS linux-oracle 6.8.0-1067.71 USN-9022-1
Ubuntu 24.04 LTS linux-oracle-7.0 7.0.0-1016.18~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1068.72 USN-9025-1
Ubuntu 24.04 LTS linux-riscv +31 No fix yet —
Ubuntu 24.04 LTS linux-riscv-7.0 7.0.0-42.42.1~24.04.1 —
Ubuntu 24.04 LTS linux-vmware 6.8.0-1010.10 USN-9022-1
Ubuntu 22.04 LTS linux 5.15.0-202.212 USN-8961-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1119.126 USN-8961-1
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1069.74~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-azure 5.15.0-1125.134 USN-8961-1
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1073.82~22.04.1 USN-9026-1
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1124.133 USN-8962-1
Ubuntu 22.04 LTS linux-azure-fde-6.8 6.8.0-1071.78~22.04.1 USN-9026-1
Ubuntu 22.04 LTS linux-gcp 5.15.0-1120.130 USN-8961-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1073.81~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-gke 5.15.0-1115.121 USN-8961-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1102.110 USN-8961-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-149.149~22.04.1 USN-9066-1
Ubuntu 22.04 LTS linux-ibm 5.15.0-1113.117 USN-8961-1
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1069.70~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1114.120 USN-8961-1
Ubuntu 22.04 LTS linux-kvm 5.15.0-1111.116 USN-8961-1
Ubuntu 22.04 LTS linux-lowlatency 5.15.0-197.207 USN-8961-1
Ubuntu 22.04 LTS linux-lowlatency-hwe-6.8 6.8.0-149.149.1~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1114.115 USN-8961-1
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1070.72 USN-8963-1
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1059.59 USN-8963-1
Ubuntu 22.04 LTS linux-oracle 5.15.0-1116.122 USN-8961-1
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1067.71~22.04.1 USN-9025-1
Ubuntu 22.04 LTS linux-raspi 5.15.0-1113.116 USN-9029-1
Ubuntu 22.04 LTS linux-riscv +34 No fix yet —
Show 16 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2056.58 USN-9025-1
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1064.65 USN-9023-1
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.14 +1 No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1111.115 USN-8961-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1118.127 USN-8961-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1064.65~22.04.1 USN-9024-1
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS linux-aws-fips 6.8.0-1069.74+fips1 USN-9023-1
Ubuntu Pro FIPS-updates 24.04 LTS linux-azure-fips 6.8.0-1073.82+fips1 USN-9022-1
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS linux-gcp-fips 6.8.0-1073.81+fips1 USN-9023-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1119.126+fips1 USN-8961-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1125.134+fips1 USN-8961-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-202.212+fips1 USN-8961-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1120.130+fips1 USN-8961-1
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux +10 No fix yet —
Ubuntu Pro 20.04 LTS linux-aws-5.15 5.15.0-1119.126~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-azure-5.15 5.15.0-1125.134~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-azure-fde-5.15 5.15.0-1124.133~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-gcp-5.15 5.15.0-1120.130~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-hwe-5.15 5.15.0-202.212~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-ibm-5.15 5.15.0-1113.117~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-intel-iotg-5.15 5.15.0-1114.120~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-197.207~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1070.72~20.04.1 USN-8963-1
Ubuntu Pro 20.04 LTS linux-oracle-5.15 5.15.0-1116.122~20.04.1 USN-8961-1
Ubuntu Pro 20.04 LTS linux-riscv-5.15 5.15.0-1113.117~20.04.2 —
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux-gcp +4 No fix yet —
Ubuntu Pro 14.04 LTS linux-azure No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP7 kernel-64kb +7 6.4.0-150700.53.90.1 SUSE-SU-2026:5091-1
SLES 15 SP7 kernel-default-base 6.4.0-150700.53.90.1.150700.17.51.1 SUSE-SU-2026:5091-1
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 kernel-64kb +8 6.12.0-160000.41.1 SUSE-SU-2026:24662-1
SLES for SAP 16.0 kernel-default-base 6.12.0-160000.41.1.160000.2.32 SUSE-SU-2026:24662-1
SLES 16.0 kernel-64kb +8 6.12.0-160000.41.1 SUSE-SU-2026:24662-1, SUSE-SU-2026:24651-1
SLES 16.0 kernel-default-base 6.12.0-160000.41.1.160000.2.32 SUSE-SU-2026:24662-1
SLE Micro 6.2 kernel-default-base 6.12.0-160000.41.1.160000.2.32 SUSE-SU-2026:24643-1
SLE Micro 6.2 kernel-rt +5 6.12.0-160000.41.1 SUSE-SU-2026:24648-1, SUSE-SU-2026:24643-1
SLE Micro 6.1 kernel-default-base 6.4.0-159998.55.1.159998.21.41 SUSE-SU-2026:24619-1
SLE Micro 6.1 kernel-source +2 6.4.0-159998.55.1 SUSE-SU-2026:24619-1
SLE Micro 6.0 kernel-default-base 6.4.0-159998.55.1.159998.21.42 SUSE-SU-2026:24550-1
SLE Micro 6.0 kernel-source +2 6.4.0-159998.55.1 SUSE-SU-2026:24550-1
SLE Live Patching 15 SP7 kernel-default 6.4.0-150700.53.90.1 SUSE-SU-2026:5091-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_24 1-150700.15.3.1 SUSE-SU-2026:5091-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed kernel-source 7.2.7-1.1 openSUSE-SU-2026:11880-1

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.157.1-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 kernel-uek +34 6.12.0-207.111.5.1.el10uek ELSA-2026-500374

Advisories 28

References