Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix deadlock when freeing cgroup storage
The following commit
bc235cdb423a ("bpf: Prevent deadlock from recursive bpf_task_storage_[get|delete]")
first introduced deadlock prevention for fentry/fexit programs attaching
on bpf_task_storage helpers. That commit also employed the logic in map
free path in its v6 version.
Later bpf_cgrp_storage was first introduced in
c4bcfb38a95e ("bpf: Implement cgroup storage available to non-cgroup-attached bpf progs")
which faces the same issue as bpf_task_storage, instead of its busy
counter, NULL was passed to bpf_local_storage_map_free() which opened
a window to cause deadlock:
<TASK>
(acquiring local_storage->lock)
_raw_spin_lock_irqsave+0x3d/0x50
bpf_local_storage_update+0xd1/0x460
bpf_cgrp_storage_get+0x109/0x130
bpf_prog_a4d4a370ba857314_cgrp_ptr+0x139/0x170
? __bpf_prog_enter_recur+0x16/0x80
bpf_trampoline_6442485186+0x43/0xa4
cgroup_storage_ptr+0x9/0x20
(holding local_storage->lock)
bpf_selem_unlink_storage_nolock.constprop.0+0x135/0x160
bpf_selem_unlink_storage+0x6f/0x110
bpf_local_storage_map_free+0xa2/0x110
bpf_map_free_deferred+0x5b/0x90
process_one_work+0x17c/0x390
worker_thread+0x251/0x360
kthread+0xd2/0x100
ret_from_fork+0x34/0x50
ret_from_fork_asm+0x1a/0x30
</TASK>
Progs:
- A: SEC("fentry/cgroup_storage_ptr")
- cgid (BPF_MAP_TYPE_HASH)
Record the id of the cgroup the current task belonging
to in this hash map, using the address of the cgroup
as the map key.
- cgrpa (BPF_MAP_TYPE_CGRP_STORAGE)
If current task is a kworker, lookup the above hash
map using function parameter @owner as the key to get
its corresponding cgroup id which is then used to get
a trusted pointer to the cgroup through
bpf_cgroup_from_id(). This trusted pointer can then
be passed to bpf_cgrp_storage_get() to finally trigger
the deadlock issue.
- B: SEC("tp_btf/sys_enter")
- cgrpb (BPF_MAP_TYPE_CGRP_STORAGE)
The only purpose of this prog is to fill Prog A's
hash map by calling bpf_cgrp_storage_get() for as
many userspace tasks as possible.
Steps to reproduce:
- Run A;
- while (true) { Run B; Destroy B; }
Fix this issue by passing its busy counter to the free procedure so
it can be properly incremented before storage/smap locking.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.2 | 6.6.80 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.12.17-1 | — |
| Debian 13 | linux | 6.12.17-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux | 6.8.0-78.78 | USN-7703-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1035.37 | USN-7703-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1034.39 | USN-7737-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1022.23 | USN-7737-1 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1036.38 | USN-7703-2 |
| Ubuntu 24.04 LTS | linux-gcp-6.11 +1 | 6.11.0-1015.15~24.04.1 | USN-7521-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1032.36 | USN-7703-4 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1019.21 | USN-7703-2 |
| Ubuntu 24.04 LTS | linux-hwe-6.11 | 6.11.0-26.26~24.04.1 | USN-7521-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1033.33 | USN-7703-2 |
| Ubuntu 24.04 LTS | linux-intel +4 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-78.78.1 | USN-7703-1 |
| Ubuntu 24.04 LTS | linux-lowlatency-hwe-6.11 | 6.11.0-1014.15~24.04.1 | USN-7521-3 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1035.38 | USN-7703-4 |
| Ubuntu 24.04 LTS | linux-nvidia-6.11 | 6.11.0-1010.10 | — |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1035.38.1 | USN-7703-4 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1009.9 | — |
| Ubuntu 24.04 LTS | linux-oem-6.11 | 6.11.0-1022.22 | USN-7521-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1032.33 | USN-7703-3 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1035.39 | USN-7703-4 |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1017.18 | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1035.37~22.04.1 | USN-7703-2 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1034.39~22.04.1 | USN-7737-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1036.38~22.04.1 | USN-7703-2 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 +1 | 6.8.0-78.78~22.04.1 | USN-7703-4 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1033.33~22.04.1 | USN-7703-2 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-78.78.1~22.04.1 | USN-7703-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1035.38~22.04.1 | USN-7703-4 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1032.33~22.04.1 | USN-7703-3 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2028.29 | USN-7719-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1030.31 | USN-7703-1 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1030.31~22.04.1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-78.78+fips1 | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 10 | rv +76 | 6.12.0-124.8.1.el10_1 | RHSA-2025:20095 |
| RHEL 9 | rv +75 | 5.14.0-611.5.1.el9_7 | RHSA-2025:20518 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 10 | rv +74 | 6.12.0-124.8.1.el10_1 | ALSA-2025:20095 |
| AlmaLinux 9 | rv +73 | 5.14.0-611.5.1.el9_7 | ALSA-2025:20518 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 10 | kernel | 6.12.0-124.8.1.el10_1 | RLSA-2025:20095 |
| Rocky Linux 9 | kernel | 5.14.0-611.5.1.el9_7 | RLSA-2025:20518 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.3.1 | SUSE-SU-2025:01951-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.3.1 | SUSE-SU-2025:01967-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.3.1.150700.17.2.1 | SUSE-SU-2025:01951-1 |
| SLES 15 SP6 | kernel-64kb +6 | 6.4.0-150600.23.50.1 | SUSE-SU-2025:01614-1 |
| SLES 15 SP6 | kernel-azure +2 | 6.4.0-150600.8.37.1 | SUSE-SU-2025:01707-1 |
| SLES 15 SP6 | kernel-coco +3 | 6.4.0-15061.21.coco15sp6.1 | SUSE-SU-2025:01919-1 |
| SLES 15 SP6 | kernel-default-base | 6.4.0-150600.23.50.1.150600.12.22.1 | SUSE-SU-2025:01614-1 |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Micro 6.1 | kernel-default-base | 6.4.0-29.1.21.7 | SUSE-SU-2025:20354-1 |
| SLE Micro 6.1 | kernel-livepatch-MICRO-6-0_Update_7 +1 | 1-1.2 | SUSE-SU-2025:20355-1, SUSE-SU-2025:20354-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-31.1 | SUSE-SU-2025:20355-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-29.1 | SUSE-SU-2025:20354-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-29.1.21.7 | SUSE-SU-2025:20343-1 |
| SLE Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_7 +1 | 1-1.2 | SUSE-SU-2025:20344-1, SUSE-SU-2025:20343-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-31.1 | SUSE-SU-2025:20344-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-29.1 | SUSE-SU-2025:20343-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.3.1 | SUSE-SU-2025:01951-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_1 | 1-150700.15.3.1 | SUSE-SU-2025:01951-1 |
| SLE Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.50.1 | SUSE-SU-2025:01614-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_11 | 1-150600.1.3.2 | SUSE-SU-2025:01964-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_11 | 1-150600.13.3.1 | SUSE-SU-2025:01614-1 |
| SUSE Real Time Module 15 SP6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.6 | dtb-aarch64 +10 | 6.4.0-150600.23.50.1 | SUSE-SU-2025:01614-1 |
| openSUSE Leap 15.6 | kernel-azure +2 | 6.4.0-150600.8.37.1 | SUSE-SU-2025:01707-1 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.50.1.150600.12.22.1 | SUSE-SU-2025:01614-1 |
| openSUSE Leap 15.6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.82.1-1 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-101.33.4.3.el10uek | ELSA-2025-20530, ELSA-2025-20480 |
Advisories 28
- RHSA-2025:20518 Red Hat Security Advisory: kernel security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- RHSA-2025:20095 Red Hat Security Advisory: kernel security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- USN-7737-1 linux-azure, linux-azure-6.8, linux-azure-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7719-1 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7703-2 linux-aws-6.8, linux-gcp, linux-gcp-6.8, linux-gkeop, linux-ibm, linux-ibm-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7703-4 linux-gke, linux-hwe-6.8, linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7703-1 linux, linux-aws, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7703-3 linux-oracle, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7521-1 linux, linux-azure, linux-azure-6.11, linux-gcp, linux-gcp-6.11, linux-hwe-6.11, linux-oem-6.11, linux-raspi, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7521-3 linux-lowlatency, linux-lowlatency-hwe-6.11, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- ALSA-2025:20095 Moderate: kernel security update AlmaLinux Security Advisories · Oct 29, 2026
- ALSA-2025:20518 Moderate: kernel security update AlmaLinux Security Advisories · Oct 29, 2026
- WID-SEC-2025-0545 Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service BSI CERT-Bund (WID) · Sep 21, 2026
- WID-SEC-2026-2253 IBM Security Verify Access: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 17, 2026
- SUSE-SU-2025:20343-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20355-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20344-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20354-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:01614-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:01967-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01919-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01951-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01964-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01707-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- RLSA-2025:20095 Moderate: kernel security update Rocky Linux Security Advisories · Nov 27, 2025
- RLSA-2025:20518 Moderate: kernel security update Rocky Linux Security Advisories · Nov 21, 2025
- ELSA-2025-20530 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Aug 18, 2025
- ELSA-2025-20480 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jul 17, 2025