CVE-2025-38556
kernel: HID: core: Harden s32ton() against conversion to 0 bits
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · August 19, 2025
Updated · June 30, 2026
Description
In the Linux kernel, the following vulnerability has been resolved:
HID: core: Harden s32ton() against conversion to 0 bits
Testing by the syzbot fuzzer showed that the HID core gets a shift-out-of-bounds exception when it tries to convert a 32-bit quantity to a 0-bit quantity. Ideally this should never occur, but there are buggy devices and some might have a report field with size set to zero; we shouldn't reject the report or the device just because of that.
Instead, harden the s32ton() routine so that it returns a reasonable result instead of crashing when it is called with the number of bits set to 0 -- the same as what snto32() does.
Statement
HID core could crash on malformed devices that define a 0-bit report field, causing a shift-out-of-bounds in s32ton(). Exploitation requires only connecting a malicious HID device (no privileges or user interaction), leading to kernel crash.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.1 · 7.1CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CWE-125 · Out-of-bounds Read