{"id":25545,"date":"2026-09-18T04:31:32","date_gmt":"2026-09-17T20:31:32","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90136"},"modified":"2026-09-18T04:31:32","modified_gmt":"2026-09-17T20:31:32","slug":"cve-2026-90136","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90136","title":{"rendered":"CVE-2026-90136 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nplatform\/x86\/amd\/hsmp"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>platform\/x86\/amd\/hsmp: Reject negative power cap writes in hwmon<\/p>\n<p>hsmp_hwmon_write() takes the user-supplied hwmon value as a signed long<br \/>\nand assigns &#8220;val \/ MICROWATT_PER_MILLIWATT&#8221; to msg.args[0], which is a<br \/>\n__u32.  MICROWATT_PER_MILLIWATT is an unsigned long, so a negative write<br \/>\nto power1_cap (e.g. &#8220;echo -1 &gt; power1_cap&#8221;) is first converted to a huge<br \/>\nunsigned value by the division and then stored into the u32 argument.<\/p>\n<p>As a result a nonsensical, multi-gigawatt socket power limit is sent to<br \/>\nthe SMU via HSMP_SET_SOCKET_POWER_LIMIT instead of the write being<br \/>\nrejected.<\/p>\n<p>Reject negative values with -EINVAL before the conversion.<\/p>\n<p>Tested with HSMP enabled:<\/p>\n<p>  CAP=$(dirname $(grep -l amd_hsmp_hwmon<br \/>\n        \/sys\/class\/hwmon\/hwmon*\/name | head -1))\/power1_cap<\/p>\n<p>  # negative write<br \/>\n  echo -1000000 &gt; $CAP ; echo &#8220;ret=$?&#8221;<br \/>\n  # valid positive write must still work<br \/>\n  echo 400000000 &gt; $CAP ; echo &#8220;ret=$?&#8221;<\/p>\n<p>Before:<br \/>\n  # echo -1000000 &gt; $CAP ; echo &#8220;ret=$?&#8221;<br \/>\n  ret=0                              $CAP ; echo &#8220;ret=$?&#8221;<br \/>\n  ret=0<\/p>\n<p>After:<br \/>\n  # echo -1000000 &gt; $CAP ; echo &#8220;ret=$?&#8221;<br \/>\n  bash: echo: write error: Invalid argument<br \/>\n  ret=1                              $CAP ; echo &#8220;ret=$?&#8221;<br \/>\n  ret=0                             &lt;- valid write still works<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>platform\/x86\/amd\/hsmp: Reject negative power cap writes in hwmon<\/p>\n<p>hsmp_hwmon_write() takes the user-supplied hwmon value as a signe<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25545","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25545","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=25545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}