CVE-2025-38103

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

HIGH
7.1
CVSS Score
Published: July 3, 2025 at 08:35 AM UTC
Updated: June 17, 2026 at 09:16 AM UTC
2 products affected across 2 vendorsLinux KernelDebian Linux

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.1
Exploit prediction
EPSS 0.2%

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 3.16.50v ≥ 3.18.76v ≥ 3.2.95v ≥ 4.1.46v ≥ 4.13.8v ≥ 4.4.93v ≥ 4.9.573.16.50 ≤ v < 3.173.18.76 ≤ v < 3.193.2.95 ≤ v < 3.34.1.46 ≤ v < 4.24.13.8 ≤ v < 4.144.14 ≤ v < 5.10.2394.14 ≤ v < 5.15.1864.14 ≤ v < 5.4.2954.14 ≤ v < 6.1.1424.14 ≤ v < 6.12.344.14 ≤ v < 6.15.34.14 ≤ v < 6.164.14 ≤ v < 6.6.944.14.1 ≤ v < 5.4.2954.4.93 ≤ v < 4.54.9.57 ≤ v < 4.105.11 ≤ v < 5.15.1865.16 ≤ v < 6.1.1425.5 ≤ v < 5.10.2396.13 ≤ v < 6.15.36.2 ≤ v < 6.6.946.7 ≤ v < 6.12.342929cb995378205bceda86d6fd3cbc22e522f97f3.16.503.18.763.2.954.1.464.13.84.144.14 rc54.14 rc64.14 rc74.14 rc84.4.934.9.57439f76690d7d5dd212ea7bebc1f2fa077e3d645d57265cddde308292af881ce634a5378dd4e259008d675aa967d3927ac100f7af48f2a2af8a041d2d984154e7eef1f9e543dabd7422cfc9901577873299de0781e0de7c866f762b931351c2a501c3074ff043bfc98c193c284e2cd768fefabe18ac2fed9bf4cf5d75416ae3d79e03179fe6f4b9f1231ae42c
Vendor states this is fixed in 1df80d748f984290c895e843401824215dcfbfb0 (fixed)
Vendor states this is fixed in 41827a2dbdd7880df9881506dee13bc88d4230bb (fixed)
Vendor states this is fixed in 485e1b741eb838cbe1d6b0e81e5ab62ae6c095cf (fixed)
Vendor states this is fixed in 4fa7831cf0ac71a0a345369d1a6084f2b096e55e (fixed)
Vendor states this is fixed in 74388368927e9c52a69524af5bbd6c55eb4690de (fixed)
Vendor states this is fixed in 7a6d6b68db128da2078ccd9a751dfa3f75c9cf5b (fixed)
Vendor states this is fixed in a8f842534807985d3a676006d140541b87044345 (fixed)
Vendor states this is fixed in fe7f7ac8e0c708446ff017453add769ffc15deed (fixed)
Affected range stops below 3.17, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.19, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.10, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 4.14 (unaffected)
Affected range stops below 4.2, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.5, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.10.239 (unaffected)
Vendor states this is fixed in 5.15.186 (unaffected)
Vendor states this is fixed in 5.4.295 (unaffected)
Vendor states this is fixed in 6.1.142 (unaffected)
Vendor states this is fixed in 6.12.34 (unaffected)
Vendor states this is fixed in 6.15.3 (unaffected)
Vendor states this is fixed in 6.16 (unaffected)
Vendor states this is fixed in 6.6.94 (unaffected)

References (10)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1df80d748f984290c895e843401824215dcfbfb0
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/41827a2dbdd7880df9881506dee13bc88d4230bb
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/485e1b741eb838cbe1d6b0e81e5ab62ae6c095cf
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4fa7831cf0ac71a0a345369d1a6084f2b096e55e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/74388368927e9c52a69524af5bbd6c55eb4690de
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/7a6d6b68db128da2078ccd9a751dfa3f75c9cf5b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a8f842534807985d3a676006d140541b87044345
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/fe7f7ac8e0c708446ff017453add769ffc15deed

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-125

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card