CVE-2026-23319 Details
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.
A use-after-free vulnerability has been identified in the Linux kernel's BPF (Berkeley Packet Filter) subsystem, specifically within the trampoline linking mechanism for cgroups (control groups). This vulnerability arises when the reference count of a BPF link is decremented to zero, indicating that the resource is released. However, it may still be referenced in a deferred cleanup process. During this window, another process can exploit the situation, leading to a use-after-free condition.
Users can upgrade to the patched version of the Linux kernel where this vulnerability has been addressed.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cert-portal.siemens.com/productcert/html/ssa-019113.html | siemens-SADP | |
| https://cert-portal.siemens.com/productcert/html/ssa-082556.html | siemens-SADP | |
| https://git.kernel.org/stable/c/3eeddb80191f7626ec1ef742bfff51ec3b0fa5c2 | kernel.org | Patch |
| https://git.kernel.org/stable/c/4e8a0005d633a4adc98e3b65d5080f93b90d356b | kernel.org | Patch |
| https://git.kernel.org/stable/c/529e685e522b9d7fb379dbe6929dcdf520e34c8c | kernel.org | Patch |
| https://git.kernel.org/stable/c/56145d237385ca0e7ca9ff7b226aaf2eb8ef368b | kernel.org | Patch |
| https://git.kernel.org/stable/c/9b02c5c4147f8af8ed783c8deb5df927a55c3951 | kernel.org | Patch |
| https://git.kernel.org/stable/c/cfcfa0ca0212162aa472551266038e8fd6768cff | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-416 | Use After Free | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 6.0.1, < 6.1.167 >= 6.2, < 6.6.130 >= 6.7, < 6.12.77 >= 6.13, < 6.18.17 >= 6.19, < 6.19.7 6.0 - 7.0 rc1 7.0 rc2 7.0 rc3 7.0 rc4 7.0 rc5 7.0 rc6 7.0 rc7 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 14, 2026 | CVE Modified | siemens-SADP |
| Jun 17, 2026 | CVE Modified | kernel.org |
| Apr 23, 2026 | Initial Analysis | [email protected] |
| Mar 25, 2026 | New CVE Received | kernel.org |