{"id":26039,"date":"2026-09-18T04:32:16","date_gmt":"2026-09-17T20:32:16","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93182"},"modified":"2026-09-18T04:32:16","modified_gmt":"2026-09-17T20:32:16","slug":"cve-2026-93182","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93182","title":{"rendered":"CVE-2026-93182 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nsched\/fair: Fix overf"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sched\/fair: Fix overflow in update_tg_cfs_runnable()<\/p>\n<p>A divide-by-zero crash is observed when running hackbench:<\/p>\n<p>   [14697.488452] CPU: 112 UID: 0 PID: 124791 Comm: hackbench Not tainted 7.1.0-rc2+<br \/>\n   [14697.492627] RIP: 0010:propagate_entity_load_avg+0x35f\/0x3e0<br \/>\n   [14697.506799]<br \/>\n   [14697.507411]  __dequeue_task+0x2b4\/0xc70<br \/>\n   [14697.508677]  dequeue_task_fair+0x36\/0x370<br \/>\n   [14697.509047]  dequeue_task+0x101\/0x2f0<br \/>\n   [14697.509426]  __schedule+0x1b1\/0x1a00<br \/>\n   [14697.510868]  anon_pipe_read+0x3da\/0x450<br \/>\n   [14697.511400]  vfs_read+0x361\/0x390<br \/>\n   [14697.512053]  __x64_sys_read+0x19\/0x30<\/p>\n<p>The divide-by-zero happens here:<\/p>\n<p>  if (scale_load_down(gcfs_rq-&gt;load.weight)) {<br \/>\n           load_sum = div_u64(gcfs_rq-&gt;avg.load_sum,<br \/>\n                              scale_load_down(gcfs_rq-&gt;load.weight));<br \/>\n  }<\/p>\n<p>gcfs_rq-&gt;load.weight is an insane large value and is truncated<br \/>\nto the lower 32 bits by div_u64, which happen to be 0.<\/p>\n<p>Using AI for investigation, the cause is a u32 overflow in<br \/>\nupdate_tg_cfs_runnable(), and flat pickup became a victim when using<br \/>\ntg_tasks():<\/p>\n<p>   u32 new_sum, divider;<br \/>\n   &#8230;<br \/>\n   new_sum = se-&gt;avg.runnable_avg * divider; runnable_avg<\/p>\n<p>   update_cfs_group()<br \/>\n     calc_concur_shares()<br \/>\n       tg_tasks()                 # long-to-int truncation, negative nr<br \/>\n     reweight_entity()            # corrupted se-&gt;load.weight<br \/>\n       update_load_add()          # corrupted cfs_rq-&gt;load.weight<\/p>\n<p>   propagate_entity_load_avg()<br \/>\n     update_tg_cfs_load()<br \/>\n       div_u64()                  # divide-by-zero<\/p>\n<p>Fix by widening new_sum from u32 to u64 (no need to force tg_tasks()<br \/>\nto return unsigned long after this fix)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sched\/fair: Fix overflow in update_tg_cfs_runnable()<\/p>\n<p>A divide-by-zero crash is observed when running hackbench:<\/p>\n<p>   [14697.488452]<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-26039","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/26039","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=26039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=26039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=26039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}