Bug 2508319 (CVE-2026-64556) - CVE-2026-64556 kernel: perf/core: Detach event groups during remove_on_exec
Summary: CVE-2026-64556 kernel: perf/core: Detach event groups during remove_on_exec
Keywords:
Status: NEW
Alias: CVE-2026-64556
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-07-29 09:01 UTC by OSIDB Bzimport
Modified: 2026-08-28 16:21 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-07-29 09:01:36 UTC
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.

Comment 6 Akiyoshi Kurita 2026-08-28 01:02:32 UTC
FYI, a public exploit / PoC for CVE-2026-64556 is now available.

Red Hat CVE:
https://access.redhat.com/security/cve/cve-2026-64556

Public exploit / PoC:
https://github.com/google/security-research/tree/d9fa91ad8392ead13cbc53fb44a56b187dd88cb9/pocs/linux/kernelctf/CVE-2026-64556_lts/exploit/lts-6.12.91

Relevant stable kernel fixes:

RHEL 8 / RHEL 9 reference (6.6.145 backport):
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4cdb1b3ab96eb1b7eb70bc5c82fede334bd60df2

RHEL 10 reference (6.12.96 backport):
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=39358e856fb89e62e3c8d7389a2dc4ec33dbe90e

From reviewing the upstream fix, I could not identify an obvious practical runtime mitigation other than updating to a fixed kernel.

If there is any Red Hat-specific mitigation available before the fixed kernel is installed, please let me know.


Note You need to log in before you can comment on or make changes to this bug.