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

HID: core: Fix OOB read in hid_get_report for numbered reports

When a caller passes a size of 0 to hid_report_raw_event() for a
numbered report, the function originally called hid_get_report() before
performing any size validation.

Inside hid_get_report(), if the report is numbered (report_enum->numbered
is true), it unconditionally dereferences data[0] to extract the report ID.
With a size of 0, this results in an out-of-bounds read or kernel panic.

Fix this by moving the numbered report size validation check before the
call to hid_get_report(), ensuring that size is at least 1 before
dereferencing the data pointer.
Published: 2026-08-28
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Immediate Patch
AI Analysis

Impact

An out‑of‑bounds read in the Linux kernel HID core occurs when a caller invokes hid_report_raw_event() with a size of zero for a numbered report. The kernel function hid_get_report() dereferences the first byte of the data buffer before validating the length, which can allow a malicious actor to read memory beyond the supplied buffer or, in the worst case, trigger a kernel panic.

Affected Systems

The vulnerability is present in any Linux kernel build that contains the pre‑fix implementation of hid_get_report(), i.e., all kernels released before the commit that moves the size validation before the data dereference. System administrators should determine if their running kernel includes the change, typically by checking the kernel version against the public commit series or by inspecting the source for the size check movement.

Risk and Exploitability

The CVSS score of 8.8 reflects a high impact of the vulnerability. The EPSS score of < 1% indicates a low probability of exploitation in the wild. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is local; based on the description, it is inferred that an attacker would need to trigger hid_report_raw_event() with a zero length argument, which may be achievable by a user with elevated privileges or by a malicious HID device that can issue raw events. The kernel privilege level of the code makes this a serious confidentiality and availability risk.

Generated by OpenCVE AI on August 31, 2026 at 15:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel version that includes the size‑validation fix for hid_get_report(), or back‑port the relevant commit into the running kernel source and rebuild
  • Restrict access to the raw HID interface by configuring udev rules or adjusting device file permissions to limit unprivileged users from invoking hid_report_raw_event()
  • If upgrading the kernel is not immediately possible, consider unloading the hid, hid‑multitouch, and related modules to temporarily disable the HID subsystem until the patch is applied

Generated by OpenCVE AI on August 31, 2026 at 15:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-200

Mon, 31 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
References
Metrics threat_severity

None

threat_severity

Moderate


Sat, 29 Aug 2026 10:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-200

Sat, 29 Aug 2026 09:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Sat, 29 Aug 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Fri, 28 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Fri, 28 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: HID: core: Fix OOB read in hid_get_report for numbered reports When a caller passes a size of 0 to hid_report_raw_event() for a numbered report, the function originally called hid_get_report() before performing any size validation. Inside hid_get_report(), if the report is numbered (report_enum->numbered is true), it unconditionally dereferences data[0] to extract the report ID. With a size of 0, this results in an out-of-bounds read or kernel panic. Fix this by moving the numbered report size validation check before the call to hid_get_report(), ensuring that size is at least 1 before dereferencing the data pointer.
Title HID: core: Fix OOB read in hid_get_report for numbered reports
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-29T06:21:15.771Z

Reserved: 2026-08-26T14:34:25.772Z

Link: CVE-2026-80604

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T08:16:44.317

Modified: 2026-08-29T07:16:45.480

Link: CVE-2026-80604

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-28T00:00:00Z

Links: CVE-2026-80604 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T16:00:06Z

Weaknesses