{"id":25587,"date":"2026-09-18T04:31:35","date_gmt":"2026-09-17T20:31:35","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90178"},"modified":"2026-09-18T04:31:35","modified_gmt":"2026-09-17T20:31:35","slug":"cve-2026-90178","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90178","title":{"rendered":"CVE-2026-90178 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (coretemp) Fix"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>hwmon: (coretemp) Fix core_data leak on CPUs without PTS<\/p>\n<p>pdata-&gt;core_data is allocated in init_temp_data() when the first core<br \/>\ntemp_data of a package is created, but it is only released from<br \/>\ndestroy_temp_data(), and only in the branch that handles the package<br \/>\ntemp_data.<\/p>\n<p>Package temp_data is created solely when the CPU supports<br \/>\nX86_FEATURE_PTS. On a CPU without it, coretemp_cpu_online() never calls<br \/>\ncoretemp_add_core() with pkg_flag set, so pdata-&gt;pkg_data stays NULL.<br \/>\ncoretemp_cpu_offline() then skips the removal of the package interface,<br \/>\ndestroy_temp_data() is never called for package data, and the array is<br \/>\nstill allocated when coretemp_device_remove() frees the platform data<br \/>\nthat pointed at it.<\/p>\n<p>Release the array in coretemp_device_remove(). destroy_temp_data() sets<br \/>\npdata-&gt;core_data to NULL when it frees it, so the added kfree() is a<br \/>\nno-op on CPUs that do have PTS.<\/p>\n<p>Tested on an Intel Core i5-1135G7. The driver was instrumented to log<br \/>\nevery allocation and release of pdata-&gt;core_data, and the PTS check in<br \/>\ncoretemp_cpu_online() was patched out to emulate a CPU without package<br \/>\nthermal support. Without this change the array was allocated and never<br \/>\nreleased, and coretemp_device_remove() still saw a non-NULL pointer.<br \/>\nWith it the array is released and the pointer accounting balances. On an<br \/>\nunmodified build the release still happens via the package temp_data and<br \/>\nthe added kfree() sees NULL, with no slab warnings over repeated module<br \/>\nload and unload cycles.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>hwmon: (coretemp) Fix core_data leak on CPUs without PTS<\/p>\n<p>pdata-&gt;core_data is allocated in init_temp_data() when the first core<br \/>\ntem<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25587","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25587","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=25587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}