Skip to main content
← All vulnerabilities
CVE-2026-63916

HID: wacom: Fix OOB write in wacom_hid_set_device_mode()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.93, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: HID: wacom: Fix OOB write in wacom_hid_set_device_mode() wacom_hid_set_device_mode() currently assumes that the HID_DG_INPUTMODE usage is always located in the first field (field[0]) of the feature report. However, a device can specify HID_DG_INPUTMODE in a different field. If HID_DG_INPUTMODE is in a field other than the first one and the first field has a report_count smaller than the usage_index of HID_DG_INPUTMODE, this leads to an out-of-bounds write to r->field[0]->value. Fix this by storing the field index of HID_DG_INPUTMODE in 'struct hid_data' during feature mapping. In wacom_hid_set_device_mode(), use this stored field index to access the correct field and add bounds checks to ensure both the field index and the value index are within valid ranges before writing.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in 2add311d99646c9d235b2c44f9c169ba30f5db3a; From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in 83bd8a5756a3c4a413ed8f6253f9eb2821e1ccaf; From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in 5716a293fb19d382ca2336e08fd28a619a5f3c25; From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in ed598de9f61582902406d352d99f2073d8e00298; From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in 43e7c02d6090a82fd60d63491f6871aec906345e; From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in b8338111e14183972359009c12d0dbd81d2e1e16; From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in 5db3fca0cec7b33bc5379411d0a60d792c9f9bc0; From 5ae6e89f7409cb5d218bb728326eba9c650d9700 · fixed in c0a8899e02ddebd51e2589835182c239c2e224ae

  • Linux Linux

    3.18

  • KernelLinux

    From 3.18.0 · fixed in 5.10.259; From 5.11.0 · fixed in 5.15.210; From 5.16.0 · fixed in 6.1.176; From 6.2.0 · fixed in 6.6.143; From 6.7.0 · fixed in 6.12.93; From 6.13.0 · fixed in 6.18.35; From 6.19.0 · fixed in 7.0.12

References 8

git.kernel.org