CVE-2026-63947

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

State
Published
Severity
8.8 High
Published
Jul 19, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 1f08a90013e1e632b34321334e861fcefc056505Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before cc3832b19f863e3677c5651f001a2e3795f39eb8Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before d313683d6ccdd8c01e0562270a2ae25b86d8461dAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before d7d6a81b8dd1a8d084a1b755db9406041d53adb5Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 6348dfed5b0f9c6074f14322332e97493d32fef0Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before b83dcacd2ec7fcc5a48be215f82d573759f87ec2Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 2a3ac9ee11dbb9845f3947cef4a79dba658cf6f6Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 5.15.210 through 5.15.*Not affected
  • 6.1.176 through 6.1.*Not affected
  • 6.6.143 through 6.6.*Not affected
  • 6.12.93 through 6.12.*Not affected
  • 6.18.35 through 6.18.*Not affected
  • 7.0.12 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.