CVE-2026-23319 bpf: Fix a UAF issue in bpf_trampoline_link_cgroup_shim

High 7.8 Published Updated

A use-after-free in the Linux kernel's BPF subsystem allows attackers to execute arbitrary code or escalate privileges via race conditions.

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-2026-23319?

CVE-2026-23319 is a high-severity use after free vulnerability in Linux kernel, published on 25 Mar 2026. 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 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.

Weakness: CWE-416

Which versions are affected by CVE-2026-23319?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2026-23319?

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-2026-23319 being exploited?

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

All Linux kernel vulnerabilities

Sources

Also known as AZL-80691, BELL-CVE-2026-23319, DEBIAN-CVE-2026-23319, GHSA-65x4-mv56-gf8m, ROOT-OS-DEBIAN-12-CVE-2026-23319, ROOT-OS-DEBIAN-13-CVE-2026-23319 and 2 more.

Is CVE-2026-23319 in your software?

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

Check your SBOMs for free