CVE-2024-56675 bpf: Fix UAF via mismatching bpf_prog/attachment RCU flavors
A use-after-free vulnerability in the Linux kernel BPF subsystem allows attackers to execute arbitrary code or escalate privileges via mismatched RCU flavors.
- 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-2024-56675?
CVE-2024-56675 is a high-severity use after free vulnerability in Linux kernel, published on 27 Dec 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:
bpf: Fix UAF via mismatching bpf_prog/attachment RCU flavors
Uprobes always use bpf_prog_run_array_uprobe() under tasks-trace-RCU protection. But it is possible to attach a non-sleepable BPF program to a uprobe, and non-sleepable BPF programs are freed via normal RCU (see __bpf_prog_put_noref()). This leads to UAF of the bpf_prog because a normal RCU grace period does not imply a tasks-trace-RCU grace period.
Fix it by explicitly waiting for a tasks-trace-RCU grace period after removing the attachment of a bpf_prog to a perf_event.
Weakness: CWE-416
Which versions are affected by CVE-2024-56675?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-56675?
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-2024-56675 being exploited?
There is no known exploitation of CVE-2024-56675 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-54733, BELL-CVE-2024-56675, DEBIAN-CVE-2024-56675, GHSA-ppp3-73jm-5rm6, UBUNTU-CVE-2024-56675.