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

Bluetooth: HIDP: fix missing length checks in hidp_input_report()

hidp_input_report() reads keyboard and mouse payload data from an skb
without first verifying that skb->len contains enough data.

hidp_recv_intr_frame() pulls the 1-byte HIDP header before dispatching
to hidp_input_report(). If a paired device sends a truncated packet,
the handler reads beyond the valid skb data, resulting in an
out-of-bounds read of skb data. The OOB bytes may be interpreted as
phantom key presses or spurious mouse movement.

Replace the open-coded length tracking and pointer arithmetic with
skb_pull_data() calls. skb_pull_data() returns NULL if the requested
bytes are not present, eliminating the need for a manual size variable
and the separate skb->len guard.
Published: 2026-07-19
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel's Bluetooth HIDP subsystem contains an out-of-bounds read in the hidp_input_report() function. When a Bluetooth device sends a truncated HID report, the code reads past the packet boundary, causing data beyond the legitimate payload to be interpreted as bogus key presses or mouse movements. This flaw is classified as CWE‑125 and can compromise the integrity of user input on the affected system.

Affected Systems

The vulnerability applies to any Linux kernel that includes the Bluetooth HIDP subsystem and has not yet incorporated the recent length‑check fix. This includes all kernel releases that provide Bluetooth HID over GATT support for keyboards and mice, regardless of distribution vendor.

Risk and Exploitability

The CVSS score of 8.8 indicates high severity, while the EPSS score of less than 1% reflects a very low probability of exploitation. The flaw is not listed in the CISA KEV catalog. Based on the description, it is inferred that exploitation would require an attacker to send a crafted HID report over Bluetooth from a device that either is already paired or can initiate a Bluetooth session with the target. The vulnerability does not require elevated privileges on the target system, but the attack vector would generally be local or device‑side via Bluetooth communications.

Generated by OpenCVE AI on August 4, 2026 at 06:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the hidp_input_report() length‑check improvement, ensuring the patch is baked into your distribution’s mainline or LTS release.
  • Restart the Bluetooth subsystem or reboot the system so the patched kernel is active.
  • If HID over GATT support is not required, disable or blacklist the kernel modules that provide Bluetooth HID functionality to reduce exposure.

Generated by OpenCVE AI on August 4, 2026 at 06:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8593-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8603-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Wed, 22 Jul 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Mon, 20 Jul 2026 14: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'}


Sun, 19 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: HIDP: fix missing length checks in hidp_input_report() hidp_input_report() reads keyboard and mouse payload data from an skb without first verifying that skb->len contains enough data. hidp_recv_intr_frame() pulls the 1-byte HIDP header before dispatching to hidp_input_report(). If a paired device sends a truncated packet, the handler reads beyond the valid skb data, resulting in an out-of-bounds read of skb data. The OOB bytes may be interpreted as phantom key presses or spurious mouse movement. Replace the open-coded length tracking and pointer arithmetic with skb_pull_data() calls. skb_pull_data() returns NULL if the requested bytes are not present, eliminating the need for a manual size variable and the separate skb->len guard.
Title Bluetooth: HIDP: fix missing length checks in hidp_input_report()
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-05T12:37:34.167Z

Reserved: 2026-07-19T07:54:57.023Z

Link: CVE-2026-63947

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-63947 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T06:45:03Z

Weaknesses