{"id":29239,"date":"2026-09-25T20:32:13","date_gmt":"2026-09-25T12:32:13","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98084"},"modified":"2026-09-25T20:32:13","modified_gmt":"2026-09-25T12:32:13","slug":"cve-2026-98084","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98084","title":{"rendered":"CVE-2026-98084 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: backtracking sho"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: backtracking shouldn&#8217;t clear outer frame R1-R5 for callbacks<\/p>\n<p>When processing calls to bpf_loop() verifier marks R1 (and R4) as<br \/>\nprecise. R1 tracks loop iterations number and because of the<br \/>\n&#8216;callback_depth &lt; R1&#039; mechanics in check_helper_call() must be marked<br \/>\nprecise. However, precision propagation for R1 was broken,<br \/>\nwhen bpf_loop() call was verified on a second iteration.<\/p>\n<p>Consider the following verification trace:<br \/>\n&#8211; main: bpf_loop(nr_loops, callback &#8230;)<br \/>\n&#8211; callback: BPF_EXIT<br \/>\n&#8211; main: bpf_loop(nr_loops, callback &#8230;)<br \/>\n&#8211; &#8230;<\/p>\n<p>While the first visit of the call to bpf_loop() propagated R1<br \/>\nprecision as expected, the second call to mark_chain_precision() in<br \/>\nthe check_helper_call() set R1, but it was immediately reset when<br \/>\nbacktrack_insn() processed preceding BPF_EXIT in the loop deleted in<br \/>\nthis patch.<\/p>\n<p>Because of that, the second visit of the call to bpf_loop() injected<br \/>\ncheckpoint with R1 not marked as precise. Which could trick the<br \/>\nverifier into accepting unsafe programs. See the next patch for an<br \/>\nexample of such program.<\/p>\n<p>Commit is structured in a way to minimize conflicts when<br \/>\n&#039;bpf&#039; would be eventually merged with &#039;bpf-next&#039;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: backtracking shouldn&#8217;t clear outer frame R1-R5 for callbacks<\/p>\n<p>When processing calls to bpf_loop() verifier marks R1 (and R4) a<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29239","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29239","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=29239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}