{"id":25720,"date":"2026-09-18T04:31:47","date_gmt":"2026-09-17T20:31:47","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90311"},"modified":"2026-09-18T04:31:47","modified_gmt":"2026-09-17T20:31:47","slug":"cve-2026-90311","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90311","title":{"rendered":"CVE-2026-90311 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nthermal: hwmon: Remov"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>thermal: hwmon: Remove hwmon class device along with its parent<\/p>\n<p>The current code creates one hwmon device per thermal zone type and that<br \/>\ndevice is registered under the first thermal zone of the given type.<\/p>\n<p>That turns out to be problematic when the thermal zone holding the<br \/>\nhwmon device is removed.<\/p>\n<p>For example, say that there are two ACPI thermal zones on a system<\/p>\n<p> \/sys\/devices\/virtual\/thermal\/thermal_zone0\/<br \/>\n \/sys\/devices\/virtual\/thermal\/thermal_zone1\/<\/p>\n<p>The current code registers a hwmon class device for thermal_zone0 only:<\/p>\n<p> \/sys\/devices\/virtual\/thermal\/thermal_zone0\/hwmon0\/<\/p>\n<p>because the type is &#8220;acpitz&#8221; for both of them, but it adds a sysfs<br \/>\nattribute that belongs to thermal_zone1 under it:<\/p>\n<p> \/sys\/devices\/virtual\/thermal\/thermal_zone0\/hwmon0\/temp2_input<\/p>\n<p>There is also<\/p>\n<p> \/sys\/devices\/virtual\/thermal\/thermal_zone0\/hwmon0\/temp1_input<\/p>\n<p>which belongs to thermal_zone0.<\/p>\n<p>When thermal_zone0 is removed, say because the ACPI thermal driver is<br \/>\nunbound from the underlying platform device, thermal_remove_hwmon_sysfs()<br \/>\nskips the removal of hwmon0 because of the temp2_input attribute<br \/>\nbelonging to thermal_zone1 which effectively prevents thermal_zone0<br \/>\nremoval from making progress.<\/p>\n<p>Address this by making thermal_remove_hwmon_sysfs() remove the entire<br \/>\nhwmon class device interface for the given thermal zone type when the<br \/>\nthermal zone device holding it is removed.<\/p>\n<p>To prevent races with thermal_add_hwmon_sysfs() that may interfere<br \/>\nwith this, carry out the entire addition and removal of hwmon sysfs<br \/>\ninterfaces for thermal zones under thermal_hwmon_list_lock.<\/p>\n<p>Also adjust the layout of the labels in thermal_add_hwmon_sysfs() to<br \/>\nthe current kernel coding style to align with the new &#8220;unlock&#8221; label.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>thermal: hwmon: Remove hwmon class device along with its parent<\/p>\n<p>The current code creates one hwmon device per thermal zone type an<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25720","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}