{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63916","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-19T07:54:57.020Z","datePublished":"2026-07-19T14:55:20.015Z","dateUpdated":"2026-08-05T12:37:10.495Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:37:10.495Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: wacom: Fix OOB write in wacom_hid_set_device_mode()\n\nwacom_hid_set_device_mode() currently assumes that the HID_DG_INPUTMODE\nusage is always located in the first field (field[0]) of the feature report.\nHowever, a device can specify HID_DG_INPUTMODE in a different field.\n\nIf HID_DG_INPUTMODE is in a field other than the first one and the first\nfield has a report_count smaller than the usage_index of HID_DG_INPUTMODE,\nthis leads to an out-of-bounds write to r->field[0]->value.\n\nFix this by storing the field index of HID_DG_INPUTMODE in 'struct\nhid_data' during feature mapping.  In wacom_hid_set_device_mode(), use\nthis stored field index to access the correct field and add bounds\nchecks to ensure both the field index and the value index are within\nvalid ranges before writing."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - The bug is triggered when the kernel probes a Wacom HID device whose report descriptor is supplied by the peripheral; Bluetooth Wacom tablets are widely deployed and an attacker within radio range can present a malicious spoofed Wacom Bluetooth HID device, which is a more severe but reasonable reach path than USB-only scenarios.\nAC:L - The attacker fully controls the malicious device's HID report descriptor and can reliably place HID_DG_INPUTMODE in a non-first field with a high usage_index while keeping field[0]'s report_count small, causing deterministic OOB write during driver initialization without race conditions or rare configuration.\nPR:N - Exploitation requires no privileges on the victim system; an attacker only needs to connect or spoof a malicious Wacom HID peripheral (USB plug-in or Bluetooth advertisement), with no login, capabilities, or user-namespace access required on the target host.\nUI:N - No victim interaction with applications or files is needed; the attacker can physically connect a USB device to an unattended machine or deliver a spoofed Bluetooth peripheral, and the kernel automatically parses the descriptor and calls the vulnerable function during device probe or resume.\nS:U - The out-of-bounds write corrupts kernel heap memory within the same kernel security boundary, enabling local privilege escalation or denial of service but not crossing a VM, IOMMU, or sandbox boundary.\nC:H - The out-of-bounds write to field[0]->value can corrupt adjacent heap objects (new_value, usages_priorities, or neighboring kmalloc allocations), and such kernel heap memory corruption is reasonably exploitable for information disclosure.\nI:H - This is an out-of-bounds write in kernel heap memory with attacker-influenced offset and value (writes integer 2), which per CVSS kernel guidance constitutes high integrity impact due to potential arbitrary memory corruption and code execution.\nA:H - Corrupting kernel heap metadata or adjacent objects during device initialization can cause kernel oops, panic, or hang, and any out-of-bounds write in kernel space carries high availability impact even before full exploitation."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/wacom_sys.c","drivers/hid/wacom_wac.h"],"versions":[{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"2add311d99646c9d235b2c44f9c169ba30f5db3a","status":"affected","versionType":"git"},{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"83bd8a5756a3c4a413ed8f6253f9eb2821e1ccaf","status":"affected","versionType":"git"},{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"5716a293fb19d382ca2336e08fd28a619a5f3c25","status":"affected","versionType":"git"},{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"ed598de9f61582902406d352d99f2073d8e00298","status":"affected","versionType":"git"},{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"43e7c02d6090a82fd60d63491f6871aec906345e","status":"affected","versionType":"git"},{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"b8338111e14183972359009c12d0dbd81d2e1e16","status":"affected","versionType":"git"},{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"5db3fca0cec7b33bc5379411d0a60d792c9f9bc0","status":"affected","versionType":"git"},{"version":"5ae6e89f7409cb5d218bb728326eba9c650d9700","lessThan":"c0a8899e02ddebd51e2589835182c239c2e224ae","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/wacom_sys.c","drivers/hid/wacom_wac.h"],"versions":[{"version":"3.18","status":"affected"},{"version":"0","lessThan":"3.18","status":"unaffected","versionType":"semver"},{"version":"5.10.259","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.210","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.176","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.143","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.93","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.35","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.12","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.12.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.18.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"7.0.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/2add311d99646c9d235b2c44f9c169ba30f5db3a"},{"url":"https://git.kernel.org/stable/c/83bd8a5756a3c4a413ed8f6253f9eb2821e1ccaf"},{"url":"https://git.kernel.org/stable/c/5716a293fb19d382ca2336e08fd28a619a5f3c25"},{"url":"https://git.kernel.org/stable/c/ed598de9f61582902406d352d99f2073d8e00298"},{"url":"https://git.kernel.org/stable/c/43e7c02d6090a82fd60d63491f6871aec906345e"},{"url":"https://git.kernel.org/stable/c/b8338111e14183972359009c12d0dbd81d2e1e16"},{"url":"https://git.kernel.org/stable/c/5db3fca0cec7b33bc5379411d0a60d792c9f9bc0"},{"url":"https://git.kernel.org/stable/c/c0a8899e02ddebd51e2589835182c239c2e224ae"}],"title":"HID: wacom: Fix OOB write in wacom_hid_set_device_mode()","x_generator":{"engine":"bippy-1.2.0"}}}}