CVE-2022-48950 perf: Fix perf_pending_task() UaF

High 7.8 Published Updated

A use-after-free in the Linux kernel perf subsystem allows attackers to execute arbitrary code or escalate privileges.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2022-48950?

CVE-2022-48950 is a high-severity use after free vulnerability in Linux kernel, published on 21 Oct 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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.

Weakness: CWE-416

Which versions are affected by CVE-2022-48950?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2022-48950?

Apply the vendor's patch.

Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.

Is CVE-2022-48950 being exploited?

There is no known exploitation of CVE-2022-48950 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2022-48950, GHSA-qw38-ppmm-fjpw, ROOT-OS-DEBIAN-11-CVE-2022-48950, UBUNTU-CVE-2022-48950.

Is CVE-2022-48950 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free