CVE-2025-38103

HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse()

State
Published
Severity
Not scored
Published
Jul 3, 2025
Updated
May 23, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse()

Update struct hid_descriptor to better reflect the mandatory and optional parts of the HID Descriptor as per USB HID 1.11 specification. Note: the kernel currently does not parse any optional HID class descriptors, only the mandatory report descriptor.

Update all references to member element desc[0] to rpt_desc.

Add test to verify bLength and bNumDescriptors values are valid.

Replace the for loop with direct access to the mandatory HID class descriptor member for the report descriptor. This eliminates the possibility of getting an out-of-bounds fault.

Add a warning message if the HID descriptor contains any unsupported optional HID class descriptors.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before 7a6d6b68db128da2078ccd9a751dfa3f75c9cf5bAffected
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before 41827a2dbdd7880df9881506dee13bc88d4230bbAffected
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before 1df80d748f984290c895e843401824215dcfbfb0Affected
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before a8f842534807985d3a676006d140541b87044345Affected
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before 4fa7831cf0ac71a0a345369d1a6084f2b096e55eAffected
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before 74388368927e9c52a69524af5bbd6c55eb4690deAffected
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before 485e1b741eb838cbe1d6b0e81e5ab62ae6c095cfAffected
  • f043bfc98c193c284e2cd768fefabe18ac2fed9b to before fe7f7ac8e0c708446ff017453add769ffc15deedAffected
  • 99de0781e0de7c866f762b931351c2a501c3074fAffected
  • 8d675aa967d3927ac100f7af48f2a2af8a041d2dAffected
  • f4cf5d75416ae3d79e03179fe6f4b9f1231ae42cAffected
  • 439f76690d7d5dd212ea7bebc1f2fa077e3d645dAffected
  • 2929cb995378205bceda86d6fd3cbc22e522f97fAffected
  • 57265cddde308292af881ce634a5378dd4e25900Affected
  • 984154e7eef1f9e543dabd7422cfc99015778732Affected
  • 3.2.95 to before 3.3Affected
  • 3.16.50 to before 3.17Affected
  • 3.18.76 to before 3.19Affected
  • 4.1.46 to before 4.2Affected
  • 4.4.93 to before 4.5Affected
  • 4.9.57 to before 4.10Affected
  • 4.13.8 to before 4.14Affected
LinuxLinux
  • 4.14Affected
  • before 4.14Not affected
  • 5.4.295 through 5.4.*Not affected
  • 5.10.239 through 5.10.*Not affected
  • 5.15.186 through 5.15.*Not affected
  • 6.1.142 through 6.1.*Not affected
  • 6.6.94 through 6.6.*Not affected
  • 6.12.34 through 6.12.*Not affected
  • 6.15.3 through 6.15.*Not affected
  • 6.16 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.