HID: sensor: custom: Fix use-after-free in enable_sensor
- 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.267, 5.15.218, 6.1.185, 6.6.154, 6.12.106, and 3 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: custom: Fix use-after-free in enable_sensor enable_sensor_store() can call set_power_report_state(), which dereferences sensor_inst->power_state and sensor_inst->report_state. These pointers refer to entries in sensor_inst->fields. Create the field attributes before exposing the enable_sensor sysfs attribute, so enable_sensor cannot be accessed before the state it depends on has been initialized. On remove, delete enable_sensor before freeing the field attributes, so a concurrent sysfs write cannot dereference freed memory through power_state or report_state.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in c2be74b0272b7f8f60739e7aaf0d36c0befe7136; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in d7cbea1d342a16ec96d9eb3d7bd0ba2d4b2f2855; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in d37ff4e3635c18af907f25712596f8ccec323751; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in 2ce90cfc6646a32100feabd7110ae0352aa01167; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in 244a1cb638370490ed74a8adb5cc3f1212602e32; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in 8406d4b69d48bc72fb6f8812a65a17a1f903440b; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in c0757f10610542d763bd0bf9bda455b78afeef0b; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in 7bb79a3cf45e0805aef74457e19deb77e18cf196; From 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d · fixed in ad8fb82b04422f49530d2aa2753cc81d1c60102c
- Linux Linux
4.1
- KernelLinux
From 4.1.0 · fixed in 5.10.267; From 5.11.0 · fixed in 5.15.218; From 5.16.0 · fixed in 6.1.185; From 6.2.0 · fixed in 6.6.154; From 6.7.0 · fixed in 6.12.106; From 6.13.0 · fixed in 6.18.47; From 6.19.0 · fixed in 7.1.11; From 7.2.0 · fixed in 7.2.1
References 9
git.kernel.org
- stable/c/c2be74b0272b7f8f60739e7aaf0d36c0befe7136
- stable/c/d7cbea1d342a16ec96d9eb3d7bd0ba2d4b2f2855
- stable/c/d37ff4e3635c18af907f25712596f8ccec323751
- stable/c/2ce90cfc6646a32100feabd7110ae0352aa01167
- stable/c/244a1cb638370490ed74a8adb5cc3f1212602e32
- stable/c/8406d4b69d48bc72fb6f8812a65a17a1f903440b
- stable/c/c0757f10610542d763bd0bf9bda455b78afeef0b
- stable/c/7bb79a3cf45e0805aef74457e19deb77e18cf196
- stable/c/ad8fb82b04422f49530d2aa2753cc81d1c60102c