CVE-2026-23319CWE-416

CVE-2026-23319

High · published March 25, 2026

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

In the Linux kernel, the following vulnerability has been resolved:

bpf: Fix a UAF issue in bpf_trampoline_link_cgroup_shim

The root cause of this bug is that when 'bpf_link_put' reduces the

refcount of 'shim_link->link.link' to zero, the resource is considered

released but may still be referenced via 'tr->progs_hlist' in

'cgroup_shim_find'. The actual cleanup of 'tr->progs_hlist' in

'bpf_shim_tramp_link_release' is deferred. During this window, another

process can cause a use-after-free via 'bpf_trampoline_link_cgroup_shim'.

Based on Martin KaFai Lau's suggestions, I have created a simple patch.

To fix this:

Add an atomic non-zero check in 'bpf_trampoline_link_cgroup_shim'.

Only increment the refcount if it is not already zero.

Testing:

I verified the fix by adding a delay in

'bpf_shim_tramp_link_release' to make the bug easier to trigger:

static void bpf_shim_tramp_link_release(struct bpf_link *link)

{

/* ... */

if (!shim_link->trampoline)

return;

+ msleep(100);

WARN_ON_ONCE(bpf_trampoline_unlink_prog(&shim_link->link,

shim_link->trampoline, NULL));

bpf_trampoline_put(shim_link->trampoline);

}

Before the patch, running a PoC easily reproduced the crash(almost 100%)

with a call trace similar to KaiyanM's report.

After the patch, the bug no longer occurs even after millions of

iterations.

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.00136 · 2.8th percentile
Weakness
CWE-416 · Use After Free
Published
2026-03-25T15:16Z
Affected products (13)
ProductVersionsFixed in
linux/linux_kernel≥ 6.0.1, < 6.1.1676.1.167
linux/linux_kernel≥ 6.2, < 6.6.1306.6.130
linux/linux_kernel≥ 6.7, < 6.12.776.12.77
linux/linux_kernel≥ 6.13, < 6.18.176.18.17
linux/linux_kernel≥ 6.19, < 6.19.76.19.7
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (10)
EPSS history
Timeline
  • 25 MAR 10:27Z
    bpf: Fix a UAF issue in bpf_trampoline_link_cgroup_shim
    cvelistv5