CVE-2026-80918 HID: core: fix number/pointer type confusion on long items
A type confusion in the Linux kernel HID core allows local attackers to leak kernel pointer addresses via dmesg when connecting malicious HID devices.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-80918?
CVE-2026-80918 is a vulnerability in Linux, published on 9 Sep 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
In the Linux kernel, the following vulnerability has been resolved:
HID: core: fix number/pointer type confusion on long items
When fetch_item() is called by hid_scan_report() on an item with HID_ITEM_TAG_LONG, it stores a pointer to the item data in item->data.longdata instead of storing a value directly in item->data.{u8/u16/u32}.
When item_udata() or item_sdata() encounters such an item, it incorrectly assumes that the item is in short format, and therefore returns the lower part of a kernel pointer reinterpreted as a number.
When a HID device is connected whose descriptor contains a HID_GLOBAL_ITEM_TAG_REPORT_SIZE encoded in long format with size=4, this causes the lower half of a kernel pointer to be printed into dmesg as a number, like this:
hid (null): invalid report_size 107953555
To fix it, let item_udata() and item_sdata() verify that the item is in short format.
Note that this bug only affects hid_scan_report(), while the main parsing pass hid_parse_collections() will always bail out when encountering a long item.
Sidenote: There are currently no users of data.longdata; maybe we should just remove any parsing of long-format descriptors as a follow-up.
Which versions are affected by CVE-2026-80918?
How do I fix CVE-2026-80918?
Apply the vendor's patch.
Is CVE-2026-80918 being exploited?
There is no known exploitation of CVE-2026-80918 in the wild and no public exploit code.
Sources
Also known as AZL-99965, BELL-CVE-2026-80918, DEBIAN-CVE-2026-80918, GHSA-vppq-2m7c-f4xg, UBUNTU-CVE-2026-80918.