thermal: core: Fix thermal zone governor cleanup issues
- 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.259, 5.15.210, 6.1.176, 6.6.140, 6.12.86, 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: thermal: core: Fix thermal zone governor cleanup issues If thermal_zone_device_register_with_trips() fails after adding a thermal governor to the thermal zone being registered, the governor is not removed from it as appropriate which may lead to a memory leak. In turn, thermal_zone_device_unregister() calls thermal_set_governor() without acquiring the thermal zone lock beforehand which may race with a governor update via sysfs and may lead to a use-after-free in that case. Address these issues by adding two thermal_set_governor() calls, one to thermal_release() to remove the governor from the given thermal zone, and one to the thermal zone registration error path to cover failures preceding the thermal zone device registration.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in a172fa18bc370b776ac1510abb0dcb50a7a35fac; From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in 8e563d8db50f303171aceb79eec0807e7ba06951; From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in d4eb861adde5ce22e459fbd29366f47bb2167977; From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in 37a430a2d4e66ec8238da6c7f7e48809bf265e13; From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in f412e541d25a3dfaf3d53e012ade6ff03cae8a45; From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in 75f8f3c3e09122270986de9d7aa347d701676761; From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in 64d4ebf91d082034bbc5ae3ba2d7fd800bc02d06; From e33df1d2f3a0141cd79e770f31999ba0dd7ebfa8 · fixed in 41ff66baf81c6541f4f985dd7eac4494d03d9440
- Linux Linux
4.2
- KernelLinux
From 4.2.0 · fixed in 5.10.259; From 5.11.0 · fixed in 5.15.210; From 5.16.0 · fixed in 6.1.176; From 6.2.0 · fixed in 6.6.140; From 6.7.0 · fixed in 6.12.86; From 6.13.0 · fixed in 6.18.27; From 6.19.0 · fixed in 7.0.4
References 8
git.kernel.org
- stable/c/a172fa18bc370b776ac1510abb0dcb50a7a35fac
- stable/c/8e563d8db50f303171aceb79eec0807e7ba06951
- stable/c/d4eb861adde5ce22e459fbd29366f47bb2167977
- stable/c/37a430a2d4e66ec8238da6c7f7e48809bf265e13
- stable/c/f412e541d25a3dfaf3d53e012ade6ff03cae8a45
- stable/c/75f8f3c3e09122270986de9d7aa347d701676761
- stable/c/64d4ebf91d082034bbc5ae3ba2d7fd800bc02d06
- stable/c/41ff66baf81c6541f4f985dd7eac4494d03d9440