{"id":11236,"date":"2026-09-04T18:53:06","date_gmt":"2026-09-04T10:53:06","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74637"},"modified":"2026-09-04T18:53:06","modified_gmt":"2026-09-04T10:53:06","slug":"cve-2026-74637","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74637","title":{"rendered":"CVE-2026-74637 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nperf\/core: Fix group"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>perf\/core: Fix group leader use-after-free after sibling detach<\/p>\n<p>perf_group_detach() handles leader and sibling detach differently. When the<br \/>\ngroup leader is detached, all siblings are promoted to singleton events and<br \/>\ntheir group_leader pointer is reset to themselves. When a sibling is<br \/>\ndetached, it is removed from the leader&#8217;s sibling_list, but its<br \/>\ngroup_leader pointer is left pointing at the old leader.<\/p>\n<p>That is harmless when the sibling is being closed and freed immediately, as<br \/>\nin the DETACH_DEAD path. It is not safe when the sibling is detached but<br \/>\nkept alive, such as during CPU hotplug with DETACH_GROUP. In that case the<br \/>\nsibling is removed from the context, while its file descriptor can still<br \/>\nkeep it alive.<\/p>\n<p>A typical failing sequence is:<\/p>\n<p>  &#8211; A group contains leader L and sibling S.<br \/>\n  &#8211; CPU hot-unplug detaches S with DETACH_GROUP, removing it from<br \/>\n    L-&gt;sibling_list but leaving S-&gt;group_leader == L.<br \/>\n  &#8211; L is later closed and freed.<br \/>\n  &#8211; A PERF_IOC_FLAG_GROUP ioctl on S follows S-&gt;group_leader and<br \/>\n    dereferences the freed leader.<\/p>\n<p>This was reproduced by running the perf event fuzzer, CPU hotplug, and a<br \/>\nstress workload concurrently:<\/p>\n<p>  Unable to handle kernel paging request at virtual address 006b6b6b6b6b6cdb<br \/>\n  CPU: 2 PID: 12489 Comm: perf_fuzzer 6.18.7 PREEMPT<br \/>\n  pc : perf_ioctl+0x34c\/0xc68<br \/>\n  x20: ffffff89a3fa2c70 x8 : 6b6b6b6b6b6b6b6b<br \/>\n  Code: 943c4a0e 340047a0 f9404a94 f9411e88 (f940b908)<br \/>\n  Call trace:<br \/>\n  perf_ioctl+0x34c\/0xc68 (P)<br \/>\n  __arm64_sys_ioctl+0xa0\/0xf4<br \/>\n  invoke_syscall+0x58\/0xe4<br \/>\n  el0_svc_common+0xa8\/0xdc<br \/>\n  do_el0_svc+0x1c\/0x28<br \/>\n  el0_svc+0x40\/0xc0<br \/>\n  el0t_64_sync_handler+0x68\/0xdc<br \/>\n  el0t_64_sync+0x1c4\/0x1c8<\/p>\n<p>The fault happened in perf_ioctl(), where perf_event_for_each() follows<br \/>\nthe stale group_leader pointer and perf_event_for_each_child() then<br \/>\ndereferences the freed leader&#8217;s context.<\/p>\n<p>Fix the use-after-free by promoting the detached sibling to a singleton.<br \/>\nAlso fix __event_disable() cgroup accounting and event state change.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>perf\/core: Fix group leader use-after-free after sibling detach<\/p>\n<p>perf_group_detach() handles leader and sibling detach differently.<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11236","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11236","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=11236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}