CVE-2024-56675

bpf: Fix UAF via mismatching bpf_prog/attachment RCU flavors

High · published December 27, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
13.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00229 · 13.0th percentile
Published
2024-12-27T15:06Z
EPSS history
Timeline
  • 27 DEC 15:06Z
    bpf: Fix UAF via mismatching bpf_prog/attachment RCU flavors
    cvelistv5