CVE-2025-38103

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < 7a6d6b68db128da2078ccd9a751dfa3f75c9cf5baffected
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < 41827a2dbdd7880df9881506dee13bc88d4230bbaffected
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < 1df80d748f984290c895e843401824215dcfbfb0affected
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < a8f842534807985d3a676006d140541b87044345affected
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < 4fa7831cf0ac71a0a345369d1a6084f2b096e55eaffected
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < 74388368927e9c52a69524af5bbd6c55eb4690deaffected
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < 485e1b741eb838cbe1d6b0e81e5ab62ae6c095cfaffected
LinuxLinuxf043bfc98c193c284e2cd768fefabe18ac2fed9b < fe7f7ac8e0c708446ff017453add769ffc15deedaffected
LinuxLinux99de0781e0de7c866f762b931351c2a501c3074faffected
LinuxLinux8d675aa967d3927ac100f7af48f2a2af8a041d2daffected
LinuxLinuxf4cf5d75416ae3d79e03179fe6f4b9f1231ae42caffected
LinuxLinux439f76690d7d5dd212ea7bebc1f2fa077e3d645daffected
LinuxLinux2929cb995378205bceda86d6fd3cbc22e522f97faffected
LinuxLinux57265cddde308292af881ce634a5378dd4e25900affected
LinuxLinux984154e7eef1f9e543dabd7422cfc99015778732affected
LinuxLinux3.2.95 < 3.3affected
LinuxLinux3.16.50 < 3.17affected
LinuxLinux3.18.76 < 3.19affected
LinuxLinux4.1.46 < 4.2affected
LinuxLinux4.4.93 < 4.5affected
LinuxLinux4.9.57 < 4.10affected
LinuxLinux4.13.8 < 4.14affected
LinuxLinux4.14affected
LinuxLinux0 < 4.14unaffected
LinuxLinux5.4.295 <= 5.4.*unaffected
LinuxLinux5.10.239 <= 5.10.*unaffected
LinuxLinux5.15.186 <= 5.15.*unaffected
LinuxLinux6.1.142 <= 6.1.*unaffected
LinuxLinux6.6.94 <= 6.6.*unaffected
LinuxLinux6.12.34 <= 6.12.*unaffected
LinuxLinux6.15.3 <= 6.15.*unaffected
LinuxLinux6.16 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

References