Use After Free in Linux
CVE-2022-48950
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.
Vulnerability class: Use-After-Free
EPSS: 0.003 (16.7th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 7.8 (High). Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
Affected products
- Linux — versions ca7b0a10287e2733bdafb01ef0d4038536625fe3, 078c12ccf1fb943cc18c84894c76113dc89e5975, ca6c21327c6af02b7eec31ce4b9a740a18c6c13f
- Linux Linux_kernel — versions 6.1
Weakness classification (CWE)
References
Frequently asked questions
- What is CVE-2022-48950?
- CVE-2022-48950 is a high-severity vulnerability in Linux, classified under Use After Free. CVSS score: 7.8/10. Published 2024-10-21.
- How severe is CVE-2022-48950?
- High severity. CVSS v3 base score is 7.8 out of 10.