In the Linux kernel, the following vulnerability has been resolved:
bpf, sockmap: Fix race between element replace and close()
Element replace (with a socket different from the one stored) may race with socket's close() link popping & unlinking. __sock_map_delete() unconditionally unrefs the (wrong) element:
// set map[0] = s0 map_update_elem(map, 0, s0)
// drop fd of s0 close(s0) sock_map_close() lock_sock(sk) (s0!) sock_map_remove_links(sk) link = sk_psock_link_pop() sock_map_unlink(sk, link) sock_map_delete_from_link // replace map[0] with s1 map_update_elem(map, 0, s1) sock_map_update_elem (s1!) lock_sock(sk) sock_map_update_common psock = sk_psock(sk) spin_lock(&stab->lock) osk = stab->sks[idx] sock_map_add_link(..., &stab->sks[idx]) sock_map_unref(osk, &stab->sks[idx]) psock = sk_psock(osk) sk_psock_put(sk, psock) if (refcount_dec_and_test(&psock)) sk_psock_drop(sk, psock) spin_unlock(&stab->lock) unlock_sock(sk) __sock_map_delete spin_lock(&stab->lock) sk = *psk // s1 replaced s0; sk == s1 if (!sk_test || sk_test == sk) // sk_test (s0) != sk (s1); no branch sk = xchg(psk, NULL) if (sk) sock_map_unref(sk, psk) // unref s1; sks[idx] will dangle psock = sk_psock(sk) sk_psock_put(sk, psock) if (refcount_dec_and_test()) sk_psock_drop(sk, psock) spin_unlock(&stab->lock) release_sock(sk)
Then close(map) enqueues bpf_map_free_deferred, which finally calls sock_map_free(). This results in some refcount_t warnings along with a KASAN splat [1].
Fix __sock_map_delete(), do not allow sock_map_unref() on elements that may have been replaced.
[1]: BUG: KASAN: slab-use-after-free in sock_map_free+0x10e/0x330 Write of size 4 at addr ffff88811f5b9100 by task kworker/u64:12/1063
CPU: 14 UID: 0 PID: 1063 Comm: kworker/u64:12 Not tainted 6.12.0+ #125 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014 Workqueue: events_unbound bpf_map_free_deferred Call Trace: <TASK> dump_stack_lvl+0x68/0x90 print_report+0x174/0x4f6 kasan_report+0xb9/0x190 kasan_check_range+0x10f/0x1e0 sock_map_free+0x10e/0x330 bpf_map_free_deferred+0x173/0x320 process_one_work+0x846/0x1420 worker_thread+0x5b3/0xf80 kthread+0x29e/0x360 ret_from_fork+0x2d/0x70 ret_from_fork_asm+0x1a/0x30 </TASK>
Allocated by task 1202: kasan_save_stack+0x1e/0x40 kasan_save_track+0x10/0x30 __kasan_slab_alloc+0x85/0x90 kmem_cache_alloc_noprof+0x131/0x450 sk_prot_alloc+0x5b/0x220 sk_alloc+0x2c/0x870 unix_create1+0x88/0x8a0 unix_create+0xc5/0x180 __sock_create+0x241/0x650 __sys_socketpair+0x1ce/0x420 __x64_sys_socketpair+0x92/0x100 do_syscall_64+0x93/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Freed by task 46: kasan_save_stack+0x1e/0x40 kasan_save_track+0x10/0x30 kasan_save_free_info+0x37/0x60 __kasan_slab_free+0x4b/0x70 kmem_cache_free+0x1a1/0x590 __sk_destruct+0x388/0x5a0 sk_psock_destroy+0x73e/0xa50 process_one_work+0x846/0x1420 worker_thread+0x5b3/0xf80 kthread+0x29e/0x360 ret_from_fork+0x2d/0x70 ret_from_fork_asm+0x1a/0x30
The bu ---truncated---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade kernel-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.15.180-122.191Upgrade kernel-livepatch-5.10.236-227.928Upgrade perfUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-develUpgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade python-perfUpgrade kernel-tools | Apr 30, 2025 | Dec 27, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade bpftool-debuginfoUpgrade kernel-libbpfUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-6.1.127-135.201Upgrade kernel-libbpf-staticUpgrade kernelUpgrade kernel-modules-extraUpgrade bpftoolUpgrade kernel-libbpf-develUpgrade kernel-modules-extra-commonUpgrade perfUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfoUpgrade kernel-tools-develUpgrade python3-perf | Mar 27, 2025 | Dec 27, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Feb 10, 2025 | Dec 27, 2024 |
| Dell Powerstore Dsa2025223 | — | Upgrade Dell PowerStoreOS to the latest version | Oct 23, 2025 | May 27, 2025 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | Mar 18, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools | Apr 11, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernelUpgrade bpftoolUpgrade kernel-toolsUpgrade python3-perf | Mar 19, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-abi-stablelists | Apr 1, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libs | Mar 18, 2025 | Dec 27, 2024 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | May 15, 2025 | Dec 27, 2024 |
| Ubuntu | — | Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-5.15.0-142-lowlatencyUpgrade linux-image-oemUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-azure-lts-20.04Upgrade linux-image-azure-fipsUpgrade linux-image-5.4.0-223-generic-lpaeUpgrade linux-image-5.4.0-1139-kvmUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-5.4Upgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-ibm-5.4Upgrade linux-image-5.15.0-1086-aws-fipsUpgrade linux-image-fipsUpgrade linux-image-azure-5.4Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-5.4.0-223-genericUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1039-nvidia-tegra-rtUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-1086-aws-64kUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-kvm-5.4Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-oracle-5.4Upgrade linux-image-5.4.0-1098-ibmUpgrade linux-image-5.15.0-1078-ibmUpgrade linux-image-5.4.0-223-lowlatencyUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-5.15.0-1079-intel-iot-realtimeUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-azure-fips-5.4Upgrade linux-image-aws-fips-5.4Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.15.0-1085-gcp-fipsUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-azure-fdeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-1082-kvmUpgrade linux-image-gcp-fips-5.4Upgrade linux-image-5.15.0-1091-azureUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oem-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-generic-5.4Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-5.15.0-142-fipsUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-5.15.0-1083-gkeUpgrade linux-image-5.4.0-1155-gcpUpgrade linux-image-xilinx-zynqmp-5.4Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1080-nvidia-lowlatencyUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-virtual-5.4Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-1028-nvidia-tegra-igx-rtUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-azure-cvmUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-genericUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1080-nvidiaUpgrade linux-image-5.15.0-1091-azure-fipsUpgrade linux-image-realtimeUpgrade linux-image-raspi-realtimeUpgrade linux-image-5.15.0-1039-nvidia-tegraUpgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-raspi2Upgrade linux-image-5.4.0-1056-iotUpgrade linux-image-5.15.0-1028-nvidia-tegra-igxUpgrade linux-image-oem-22.04cUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-5.15.0-1083-intel-iotgUpgrade linux-image-gcp-5.4Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-ibmUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-azureUpgrade linux-image-nvidia-6.8Upgrade linux-image-generic-lpae-5.4Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.4.0-1135-raspiUpgrade linux-image-5.15.0-1068-gkeopUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-nvidiaUpgrade linux-image-awsUpgrade linux-image-gcp-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-azure-nvidia | Mar 28, 2025 | Dec 27, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 29, 2025 | Dec 27, 2024 |
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