{"id":29199,"date":"2026-09-25T20:32:07","date_gmt":"2026-09-25T12:32:07","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98044"},"modified":"2026-09-25T20:32:07","modified_gmt":"2026-09-25T12:32:07","slug":"cve-2026-98044","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98044","title":{"rendered":"CVE-2026-98044 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Reject legacy pa"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Reject legacy packet loads from callbacks<\/p>\n<p>check_ld_abs() models a failed BPF_LD_ABS or BPF_LD_IND in a<br \/>\nsubprogram as an implicit return with R0 set to zero. It calls<br \/>\nprepare_func_exit() to explore this synthesized path.<\/p>\n<p>When the load is reached directly from a synchronous callback,<br \/>\nprepare_func_exit() enforces the callback return contract and marks R0<br \/>\nprecise. R0 is not derived from a real instruction on this path, so<br \/>\nprecision backtracking reaches the callback call with R0 still requested<br \/>\nand triggers the &#8220;callback unexpected regs&#8221; verifier bug. A privileged<br \/>\nprogram loader can therefore cause a verifier warning and an -EFAULT<br \/>\nBPF_PROG_LOAD.<\/p>\n<p>These legacy packet-load instructions are deprecated. Reject them from<br \/>\ncallbacks rather than complicating their implicit-return model. Check all<br \/>\nactive frames before constructing the implicit return so nested static<br \/>\nsubprograms cannot hide the callback context.<\/p>\n<p>Global functions are verified independently with a fresh frame zero, so<br \/>\nan active-frame check cannot identify a global function called from a<br \/>\ncallback. Also check the complete subprogram call graph during stack-depth<br \/>\nvalidation and reject a function containing a legacy load when any caller<br \/>\nis a callback. This covers global and static descendants without making<br \/>\nhas_ld_abs transitive, preserving its per-function BTF return-type check.<br \/>\nOrdinary uses outside callbacks remain supported.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Reject legacy packet loads from callbacks<\/p>\n<p>check_ld_abs() models a failed BPF_LD_ABS or BPF_LD_IND in a<br \/>\nsubprogram as an impli<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29199","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29199","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=29199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}