{"id":29286,"date":"2026-09-25T20:32:20","date_gmt":"2026-09-25T12:32:20","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98132"},"modified":"2026-09-25T20:32:20","modified_gmt":"2026-09-25T12:32:20","slug":"cve-2026-98132","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98132","title":{"rendered":"CVE-2026-98132 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: don&#8217;t downgrade"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: don&#8217;t downgrade half-dead scalar zero spills to STACK_ZERO<\/p>\n<p>states.c:__clean_func_state() can downgrade scalar zero spill to<br \/>\nSTACK_ZERO in the following case:<\/p>\n<p>  *(u64 *)(r10 &#8211; 8) = 0;<br \/>\n  &#8230; checkpoint &#8230;<br \/>\n  r1 = *(u32 *)(r10 &#8211; 4);<br \/>\n  &#8230; no reads from r10-8 &#8230;<\/p>\n<p>Here 4 bytes at r10-8 are dead and verifier changes scalar spill to a<br \/>\ncombination: 0000pppp (p stands for poison). Such a change breaks<br \/>\nprecision propagation chains. All places that produce STACK_ZERO<br \/>\nshould call bpf_mark_chain_precision() for the zero source.<\/p>\n<p>This patch fixes the bug in a simplest way possible:<br \/>\navoids converting stack spills of zero to STACK_ZERO.<br \/>\nTwo smarter approaches are possible:<br \/>\n&#8211; do bpf_mark_chain_precision() from __clean_func_state()<br \/>\n&#8211; check slot liveness information in check_stack_write_fixed_off()<\/p>\n<p>I investigated both and the changes required are a bit tricky,<br \/>\nhence go with a simple fix for the time being.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: don&#8217;t downgrade half-dead scalar zero spills to STACK_ZERO<\/p>\n<p>states.c:__clean_func_state() can downgrade scalar zero spill to<br \/>\nS<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29286","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29286","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=29286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}