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.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftool6.18Upgrade kernel-debuginfoUpgrade kernel-modules-extraUpgrade kernel6.18Upgrade kernel6.12-modules-extraUpgrade kernel-toolsUpgrade kernel6.18-libbpf-debuginfoUpgrade kernel6.12-develUpgrade python3-perf6.18-debuginfoUpgrade python3-perf6.12Upgrade bpftoolUpgrade perf6.12Upgrade perf6.18Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12Upgrade kernel-tools-debuginfoUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-headersUpgrade kernel-libbpfUpgrade python3-perf6.18Upgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel6.18-modules-extra-commonUpgrade kernel-libbpf-staticUpgrade python3-perf-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.18-tools-debuginfoUpgrade kernel-livepatch-6.1.168-202.320Upgrade kernel-debuginfo-common-aarch64Upgrade bpftool6.18-debuginfoUpgrade bpftool6.12-debuginfoUpgrade perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel6.18-libbpf-staticUpgrade kernel-headersUpgrade kernel6.12-tools-develUpgrade kernel-livepatch-6.12.77-99.140Upgrade kernel6.12-libbpfUpgrade kernel-livepatch-6.18.20-20.229Upgrade bpftool6.12Upgrade kernel6.18-libbpfUpgrade kernel6.12-toolsUpgrade kernel-libbpf-develUpgrade kernel-tools-develUpgrade python3-perf6.12-debuginfoUpgrade kernel6.18-debuginfoUpgrade kernelUpgrade kernel6.18-tools-develUpgrade kernel6.18-develUpgrade kernel-develUpgrade kernel6.18-modules-extraUpgrade kernel6.18-toolsUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel6.18-headersUpgrade perf6.18-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade perfUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.12-libbpf-develUpgrade perf6.12-debuginfoUpgrade kernel6.18-libbpf-develUpgrade python3-perf | Apr 9, 2026 | Mar 25, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | May 3, 2026 | May 3, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Mar 25, 2026 |
| Ubuntu | — | Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-azure-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-fipsUpgrade linux-image-gkeopUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-azureUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-20.04Upgrade linux-image-oem-22.04Upgrade linux-image-aws-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gkeUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-xilinxUpgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-oem-22.04dUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-oracle-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-genericUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-20.04bUpgrade linux-image-generic-lpaeUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-raspi-realtimeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-nvidiaUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1063-azureUpgrade linux-image-gke-64k-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-oem-20.04cUpgrade linux-image-azure-fde-6.8Upgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatency-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.0-136-fipsUpgrade linux-image-xilinx-6.8Upgrade linux-image-generic-64kUpgrade linux-image-aws-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-laptop-23.10Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-lowlatency-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-6.8.0-1061-awsUpgrade linux-image-aws-fipsUpgrade linux-image-realtimeUpgrade linux-image-raspiUpgrade linux-image-oem-20.04dUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-awsUpgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-aws-fips-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-azure-lts-24.04Upgrade linux-image-gke-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-ibmUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-gcp-64kUpgrade linux-image-aws-64k-6.8Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-kvmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-azure-fdeUpgrade linux-image-oracle-64k-lts-24.04 | Jul 21, 2026 | Jul 20, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Mar 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub