Updated: 2024-11-04 13:44:16.362259
Description:
In the Linux kernel, the following vulnerability has been resolved: perf: Fix perf_pending_task() UaF Per syzbot it is possible for perf_pending_task() to run after the event is free()'d. There are two related but distinct cases: - the task_work was already queued before destroying the event; - destroying the event itself queues the task_work. The first cannot be solved using task_work_cancel() since perf_release() itself might be called from a task_work (____fput), which means the current->task_works list is already empty and task_work_cancel() won't be able to find the perf_pending_task() entry. The simplest alternative is extending the perf_event lifetime to cover the task_work. The second is just silly, queueing a task_work while you know the event is going away makes no sense and is easily avoided by re-arranging how the event is marked STATE_DEAD and ensuring it goes through STATE_OFF on the way down.
Links | NIST | CIRCL | RHEL | Ubuntu |
Severity | Score | |
---|---|---|
CVSS Version 2.x | 0 | |
CVSS Version 3.x | HIGH | 7.8 |
OS name | Project name | Version | Score | Severity | Status | Errata | Last updated | Statement |
---|---|---|---|---|---|---|---|---|
CentOS 6 ELS | kernel | 2.6.32 | 7.8 | HIGH | Ignored | 2024-11-27 11:59:14 | ||
CentOS 8.4 ELS | kernel | 4.18.0 | 7.8 | HIGH | Needs Triage | 2024-11-04 09:48:36 | ||
CentOS 8.5 ELS | kernel | 4.18.0 | 7.8 | HIGH | Needs Triage | 2024-11-04 09:48:34 | ||
CloudLinux 6 ELS | kernel | 2.6.32 | 7.8 | HIGH | Ignored | 2024-11-27 11:59:14 | ||
Oracle Linux 6 ELS | kernel | 2.6.32 | 7.8 | HIGH | Ignored | 2024-11-27 11:59:14 | ||
Ubuntu 16.04 ELS | linux-hwe | 4.15.0 | 7.8 | HIGH | Not Vulnerable | 2024-12-05 12:07:33 | ||
Ubuntu 16.04 ELS | linux | 4.4.0 | 7.8 | HIGH | Not Vulnerable | 2024-12-05 12:07:22 |