{"id":7260,"date":"2026-09-04T18:49:29","date_gmt":"2026-09-04T10:49:29","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74314"},"modified":"2026-09-04T18:49:29","modified_gmt":"2026-09-04T10:49:29","slug":"cve-2026-74314","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74314","title":{"rendered":"CVE-2026-74314 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Cancel special f"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Cancel special fields on map value recycle<\/p>\n<p>Map update and delete paths currently call bpf_obj_free_fields() when a<br \/>\nvalue is being replaced or recycled. That makes field destruction depend<br \/>\non the context of the update\/delete operation. For tracing programs this<br \/>\ncan include NMI context, where referenced kptr destructors, uptr<br \/>\nunpinning, and graph root destruction are not generally safe.<\/p>\n<p>Introduce bpf_obj_cancel_fields() for the reusable-value path. It only<br \/>\nperforms NMI-safe cleanup for timer, workqueue, and task_work fields.<br \/>\nFields that need full destruction are left attached to the recycled value<br \/>\nand are destroyed by the final cleanup path instead.<\/p>\n<p>Switch array and hashtab update\/delete\/recycle paths to this cancel<br \/>\nhelper. Keep bpf_obj_free_fields() for final map destruction and for<br \/>\nbpf_mem_alloc destructors. Preallocated hashtabs do not have allocator<br \/>\ndestructors, so teardown continues to walk the normal and extra elements<br \/>\nand fully destroy their fields.<\/p>\n<p>This deliberately relaxes the eager-free semantics of map update\/delete<br \/>\nfor special fields. Programs that relied on a recycled map slot becoming<br \/>\nempty immediately after update\/delete were relying on behavior that<br \/>\ncannot be implemented safely from every BPF execution context without<br \/>\noffloading arbitrary destructors.<\/p>\n<p>There is a chance this change breaks programs making assumptions<br \/>\nregarding the eager freeing of fields. If so, we can relax semantics to<br \/>\ncancellation only when irqs_disabled() is true in the future. However,<br \/>\ntheoretically, map values that get reused eagerly already have weaker<br \/>\nguarantees as parallel users can recreate freed fields before the new<br \/>\nelement becomes visible again.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Cancel special fields on map value recycle<\/p>\n<p>Map update and delete paths currently call bpf_obj_free_fields() when a<br \/>\nvalue is b<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7260","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7260","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=7260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}