CVE-2026-64556: perf/core: Detach event groups during remove_on_exec
Greg Kroah-Hartman <[email protected]> Wed, 29 Jul 2026 10:01:40 +0200
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026072939-CVE-2026-64556-0f2c@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: perf/core: Detach event groups during remove_on_exec perf_event_remove_on_exec() removes events by calling perf_event_exit_event(). For top-level events, this removes the event from the context with DETACH_EXIT only. This can leave inconsistent group state when a removed event is a group leader and the group contains siblings without remove_on_exec. If the group was active, the surviving siblings can remain active and attached to the removed leader's sibling list, but are no longer represented by a valid group leader on the PMU context active lists. A later close of the removed leader uses DETACH_GROUP and can promote the still-active siblings from this stale group state. The next schedule-in can then add an already-linked active_list entry again, corrupting the PMU context active list. With DEBUG_LIST enabled, this is caught as a list_add double-add in merge_sched_in(). Fix this by detaching group relationships when remove_on_exec removes an event. This preserves the existing task-exit and revoke behavior, while ensuring surviving siblings are ungrouped before the removed event leaves the context. The Linux kernel CVE team has assigned CVE-2026-64556 to this issue. Affected and fixed versions =========================== Issue introduced in 5.13 with commit 2e498d0a74e5b88a6689ae1b811f247f91ff188e and fixed in 6.6.145 with commit 4cdb1b3ab96eb1b7eb70bc5c82fede334bd60df2 Issue introduced in 5.13 with commit 2e498d0a74e5b88a6689ae1b811f247f91ff188e and fixed in 6.12.96 with commit 39358e856fb89e62e3c8d7389a2dc4ec33dbe90e Issue introduced in 5.13 with commit 2e498d0a74e5b88a6689ae1b811f247f91ff188e and fixed in 6.18.39 with commit a2d5d3ee7b6e3953114726b1521e62123ab5b043 Issue introduced in 5.13 with commit 2e498d0a74e5b88a6689ae1b811f247f91ff188e and fixed in 7.1.4 with commit 06ccef0434e98058ddae7bcebc901f93d22b7653 Issue introduced in 5.13 with commit 2e498d0a74e5b88a6689ae1b811f247f91ff188e and fixed in 7.2-rc2 with commit 037a3c43edfb597665dd34457cd22b14692f2ba3 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-64556 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: kernel/events/core.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/4cdb1b3ab96eb1b7eb70bc5c82fede334bd60df2 https://git.kernel.org/stable/c/39358e856fb89e62e3c8d7389a2dc4ec33dbe90e https://git.kernel.org/stable/c/a2d5d3ee7b6e3953114726b1521e62123ab5b043 https://git.kernel.org/stable/c/06ccef0434e98058ddae7bcebc901f93d22b7653 https://git.kernel.org/stable/c/037a3c43edfb597665dd34457cd22b14692f2ba3