{"id":7087,"date":"2026-09-04T18:49:25","date_gmt":"2026-09-04T10:49:25","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72427"},"modified":"2026-09-04T18:49:25","modified_gmt":"2026-09-04T10:49:25","slug":"cve-2026-72427","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72427","title":{"rendered":"CVE-2026-72427 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix effective pr"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Fix effective prog array index with BPF_F_PREORDER<\/p>\n<p>replace_effective_prog() and purge_effective_progs() located the slot in<br \/>\nthe effective array by walking the program hlist and counting entries<br \/>\nlinearly. That count does not match the array layout: compute_effective_<br \/>\nprogs() places BPF_F_PREORDER programs at the front (ancestor cgroup<br \/>\nfirst, attach order within a cgroup) and the rest after them (descendant<br \/>\ncgroup first). So when a preorder program is present, the linear hlist<br \/>\nposition no longer equals the program&#8217;s index in the effective array.<\/p>\n<p>For replace_effective_prog() (bpf_link_update()) this overwrote the<br \/>\nwrong slot, corrupting the effective order. For purge_effective_progs(),<br \/>\nit could dummy out a slot belonging to a different program and leave the<br \/>\ndetached program in the array while bpf_prog_put() drops its reference,<br \/>\ni.e. a use-after-free.<\/p>\n<p>Fix both by replaying compute_effective_progs()&#8217;s placement (including<br \/>\nthe per-cgroup preorder reversal) in a shared effective_prog_pos()<br \/>\nhelper. Identify the entry by its struct bpf_prog_list pointer rather<br \/>\nthan by (prog, link) value, so the lookup resolves to exactly the<br \/>\nattachment the syscall selected even when the same bpf_prog is attached<br \/>\nto several cgroups in the hierarchy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Fix effective prog array index with BPF_F_PREORDER<\/p>\n<p>replace_effective_prog() and purge_effective_progs() located the slot in<br \/>\nt<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7087","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7087","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=7087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}