{"id":25994,"date":"2026-09-18T04:32:12","date_gmt":"2026-09-17T20:32:12","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93137"},"modified":"2026-09-18T04:32:12","modified_gmt":"2026-09-17T20:32:12","slug":"cve-2026-93137","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93137","title":{"rendered":"CVE-2026-93137 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix use-after-fr"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Fix use-after-free on mm_struct in bpf_find_vma()<\/p>\n<p>bpf_find_vma() reads task-&gt;mm and calls mmap_read_trylock(mm) without<br \/>\nholding a reference on the mm. On a foreign task, a concurrent exit_mm()<br \/>\ncan free the mm_struct between the lockless read and the trylock,<br \/>\nresulting in a use-after-free. mm_struct is not SLAB_TYPESAFE_BY_RCU.<\/p>\n<p>For the current task, task-&gt;mm is stable. For a foreign task, pin the mm<br \/>\nunder task-&gt;alloc_lock and release it with mmput_async(), mirroring commit<br \/>\nd8e27d2d22b6 (&#8220;bpf: fix mm lifecycle in open-coded task_vma iterator&#8221;).<br \/>\nUse spin_trylock() instead of get_task_mm() so BPF context does not block<br \/>\non alloc_lock. Reject irqs-disabled contexts and !CONFIG_MMU on the<br \/>\nforeign-task path because dropping the mm reference is not safe there.<\/p>\n<p>Race:<\/p>\n<p>  CPU0 (BPF program)                  CPU1 (exiting task)<br \/>\n  ============================        ==========================<br \/>\n  bpf_find_vma(foreign_task):<br \/>\n    mm = task-&gt;mm<br \/>\n                                      exit_mm():<br \/>\n                                        task-&gt;mm = NULL<br \/>\n                                        mmput(mm) -&gt; frees mm_struct<br \/>\n    mmap_read_trylock(mm)<br \/>\n        \/\/ UAF on mm<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: Fix use-after-free on mm_struct in bpf_find_vma()<\/p>\n<p>bpf_find_vma() reads task-&gt;mm and calls mmap_read_trylock(mm) without<br \/>\nholdi<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25994","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25994","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=25994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}