vulnerability
Ubuntu: (CVE-2022-48950): linux vulnerability
| Severity | CVSS | Published | Added | Modified |
|---|---|---|---|---|
| 7 | (AV:L/AC:L/Au:S/C:C/I:C/A:C) | Oct 21, 2024 | Nov 19, 2024 | Sep 1, 2025 |
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.
Solutions
References
- CVE-2022-48950
- https://attackerkb.com/topics/CVE-2022-48950
- CWE-416
- URL-https://git.kernel.org/linus/517e6a301f34613bff24a8e35b5455884f2d83d8
- URL-https://git.kernel.org/stable/c/517e6a301f34613bff24a8e35b5455884f2d83d8
- URL-https://git.kernel.org/stable/c/78e1317a174edbfd1182599bf76c092a2877672c
- URL-https://git.kernel.org/stable/c/8bffa95ac19ff27c8261904f89d36c7fcf215d59
- URL-https://www.cve.org/CVERecord?id=CVE-2022-48950
Explore Exposure Command
Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.