HID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: HID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature sensor_hub_get_feature() clamps its return value to the caller's buffer size, but the copy loop still copies field->report_size / 8 bytes for each report value. A malicious HID descriptor can advertise a large feature field size while an IIO caller supplies a small stack buffer, such as a single s32, causing an out-of-bounds write. HID core stores parsed report values in __s32 slots and clamps extracted values to 32 bits. Reject feature fields that require more than one slot per value, guard the total byte count calculation, and clamp each per-value copy to the remaining caller buffer.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in 1c0463f0f028801a933f090cd2695f132635b374; From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in 4145aa149a32e4b35d5d47e380d0c6c438b4e6fe; From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in 8bf8aaf2f74de64f801eb30bc38927dba1f8e40a; From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in c5c60260a07e627084e792ea959ab468ccfa4d50; From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in fa95b14198b6c8ea721b4784f466d3c2c2bac83a; From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in 9f43499ce6458a572b781f6bb46c464ab59fa825; From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in bc3d72c44bff17688dc5f3e5132a53b51dae0f04; From 5459ada2b3cd69e6bf1b0c034feb810975d0072b · fixed in c92693f3ed099401d0383ef35ca1fe1e6ba033de
- Linux Linux
4.9
- KernelLinux
From 4.9.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4
References 8
git.kernel.org
- stable/c/1c0463f0f028801a933f090cd2695f132635b374
- stable/c/4145aa149a32e4b35d5d47e380d0c6c438b4e6fe
- stable/c/8bf8aaf2f74de64f801eb30bc38927dba1f8e40a
- stable/c/c5c60260a07e627084e792ea959ab468ccfa4d50
- stable/c/fa95b14198b6c8ea721b4784f466d3c2c2bac83a
- stable/c/9f43499ce6458a572b781f6bb46c464ab59fa825
- stable/c/bc3d72c44bff17688dc5f3e5132a53b51dae0f04
- stable/c/c92693f3ed099401d0383ef35ca1fe1e6ba033de