CVE-2026-64556 in Linux
요약
\~에 의해 VulDB • 2026. 07. 29.
리눅스 커널에서 다음 취약점이 해결되었습니다:
perf/core: exec 제거 시 이벤트 그룹 분리하기
`perf_event_remove_on_exec()`은 `perf_event_exit_event()`을 호출하여 이벤트를 제거합니다. 최상위(top-level) 이벤트의 경우, 이는 `DETACH_EXIT` 플래그만 사용하여 컨텍스트에서 이벤트를 제거합니다.
제거된 이벤트가 그룹 리더이고 해당 그룹에 `remove_on_exec` 대상이 아닌 형제(siblings) 이벤트들이 포함된 경우, 일관성 없는 그룹 상태가 남을 수 있습니다. 만약 그 그룹이 활성(active) 상태였다면, 살아남은 형제들은 여전히 활성 상태로 남아 제거된 리더의 형제 목록에 연결되어 있을 수 있지만, PMU 컨텍스트의 활성 목록에서는 더 이상 유효한 그룹 리더로 표현되지 않게 됩니다.
나중에 제거된 리더를 닫을 때 `DETACH_GROUP`이 사용되며, 이는 아직 활성 상태인 형제들을 이 낡은(stale) 그룹 상태에서 승격시킬 수 있습니다. 이후 스케줄 인(schedule-in) 과정에서 이미 연결되어 있는 `active_list` 항목이 다시 추가될 수 있으며, 이로 인해 PMU 컨텍스트의 활성 목록이 손상됩니다.
`DEBUG_LIST`가 활성화된 상태에서는 이것이 `merge_sched_in()`에서 리스트 이중 추가(double-add)로 감지됩니다.
이를 해결하기 위해 `remove_on_exec`가 이벤트를 제거할 때 그룹 관계를 분리합니다. 이렇게 하면 기존 작업 종료(task-exit) 및 회수(revoke) 동작을 유지하면서, 제거될 이벤트가 컨텍스트를 떠나기 전에 살아남은 형제들이 그룹에서 해제되도록 보장합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.