CVE-2022-48950
N/A
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | ca7b0a10287e2733bdafb01ef0d4038536625fe3 < 8bffa95ac19ff27c8261904f89d36c7fcf215d59 | affected |
| Linux | Linux | 078c12ccf1fb943cc18c84894c76113dc89e5975 < 78e1317a174edbfd1182599bf76c092a2877672c | affected |
| Linux | Linux | ca6c21327c6af02b7eec31ce4b9a740a18c6c13f < 517e6a301f34613bff24a8e35b5455884f2d83d8 | affected |
| Linux | Linux | 5.15.77 < 5.15.84 | affected |
| Linux | Linux | 6.0.7 < 6.0.14 | affected |
Weaknesses
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: partial
References
- https://git.kernel.org/stable/c/8bffa95ac19ff27c8261904f89d36c7fcf215d59
- https://git.kernel.org/stable/c/78e1317a174edbfd1182599bf76c092a2877672c
- https://git.kernel.org/stable/c/517e6a301f34613bff24a8e35b5455884f2d83d8
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.