In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix racing between bpf_timer_cancel_and_free and bpf_timer_cancel
The following race is possible between bpf_timer_cancel_and_free and bpf_timer_cancel. It will lead a UAF on the timer->timer.
bpf_timer_cancel(); spin_lock(); t = timer->time; spin_unlock();
bpf_timer_cancel_and_free(); spin_lock(); t = timer->timer; timer->timer = NULL; spin_unlock(); hrtimer_cancel(&t->timer); kfree(t);
/* UAF on t */ hrtimer_cancel(&t->timer);
In bpf_timer_cancel_and_free, this patch frees the timer->timer after a rcu grace period. This requires a rcu_head addition to the "struct bpf_hrtimer". Another kfree(t) happens in bpf_timer_init, this does not need a kfree_rcu because it is still under the spin_lock and timer->timer has not been visible by others yet.
In bpf_timer_cancel, rcu_read_lock() is added because this helper can be used in a non rcu critical section context (e.g. from a sleepable bpf prog). Other timer->timer usages in helpers.c have been audited, bpf_timer_cancel() is the only place where timer->timer is used outside of the spin_lock.
Another solution considered is to mark a t->flag in bpf_timer_cancel and clear it after hrtimer_cancel() is done. In bpf_timer_cancel_and_free, it busy waits for the flag to be cleared before kfree(t). This patch goes with a straight forward solution and frees timer->timer after a rcu grace period.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-64k-debug-modules-extraUpgrade kernel-cross-headersUpgrade kernel-debug-coreUpgrade kernel-64k-modules-coreUpgrade kernel-debug-modulesUpgrade kernel-modules-coreUpgrade kernel-rt-modules-extraUpgrade kernel-64kUpgrade kernel-64k-debug-coreUpgrade kernel-64k-modulesUpgrade kernel-debug-develUpgrade kernel-rt-coreUpgrade kernel-zfcpdump-modules-extraUpgrade rtlaUpgrade kernel-headersUpgrade kernel-debugUpgrade kernel-rt-debug-coreUpgrade kernel-tools-libs-develUpgrade kernel-debug-uki-virtUpgrade python3-perfUpgrade kernel-zfcpdump-develUpgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade kernel-debug-modules-coreUpgrade kernel-tools-libsUpgrade kernel-64k-devel-matchedUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-64k-coreUpgrade kernel-debug-devel-matchedUpgrade kernelUpgrade kernel-rt-debug-modules-extraUpgrade kernel-coreUpgrade kernel-64k-debug-modulesUpgrade perfUpgrade kernel-toolsUpgrade kernel-rt-debugUpgrade kernel-docUpgrade kernel-debug-modules-extraUpgrade kernel-64k-modules-extraUpgrade kernel-devel-matchedUpgrade kernel-rt-modulesUpgrade kernel-uki-virtUpgrade kernel-modulesUpgrade rvUpgrade kernel-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-zfcpdumpUpgrade kernel-develUpgrade kernel-rt-debug-develUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rtUpgrade kernel-64k-debug-modules-coreUpgrade kernel-64k-debug-develUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-modules-coreUpgrade kernel-rt-develUpgrade kernel-rt-debug-modules-coreUpgrade libperfUpgrade kernel-64k-develUpgrade kernel-64k-debug | Nov 4, 2024 | Apr 3, 2024 |
| Amazon Linux Ami 2 | — | Upgrade python-perf-debuginfoUpgrade kernel-toolsUpgrade python-perfUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.15.152-100.162Upgrade bpftoolUpgrade kernel-headersUpgrade kernel-develUpgrade kernel-tools-develUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade perfUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-aarch64 | Dec 20, 2024 | Apr 3, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-livepatch-6.1.82-99.168Upgrade kernel-modules-extraUpgrade kernel-toolsUpgrade python3-perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-libbpf-develUpgrade kernel-tools-debuginfoUpgrade kernelUpgrade kernel-develUpgrade kernel-libbpf-staticUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade python3-perfUpgrade kernel-modules-extra-commonUpgrade kernel-libbpfUpgrade perf-debuginfoUpgrade kernel-headersUpgrade perf | Feb 17, 2025 | Apr 3, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | Apr 3, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | Apr 3, 2024 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Sep 13, 2024 | Apr 3, 2024 |
| Rocky_linux | — | Upgrade kernel-develUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade kernel-coreUpgrade kernel-rt-debug-develUpgrade bpftool-debuginfoUpgrade kernel-zfcpdump-modules-extraUpgrade libperfUpgrade kernel-debug-develUpgrade kernel-rt-debug-kvmUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-uki-virtUpgrade perfUpgrade kernel-debug-modules-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-tools-debuginfoUpgrade kernel-debug-debuginfoUpgrade kernel-headersUpgrade kernel-debugUpgrade kernel-rt-modulesUpgrade kernel-modulesUpgrade rtlaUpgrade kernel-zfcpdumpUpgrade kernel-zfcpdump-develUpgrade kernel-modules-coreUpgrade kernel-rt-debuginfoUpgrade kernel-debuginfoUpgrade kernel-uki-virtUpgrade kernel-debug-coreUpgrade kernel-rt-coreUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debugUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debug-coreUpgrade kernel-rtUpgrade python3-perfUpgrade kernel-rt-develUpgrade kernel-debug-modulesUpgrade rvUpgrade kernel-zfcpdump-devel-matchedUpgrade bpftoolUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-zfcpdump-modulesUpgrade kernel-toolsUpgrade kernel-rt-debug-debuginfoUpgrade kernel-tools-libsUpgrade kernel-debug-devel-matchedUpgrade kernel-cross-headersUpgrade kernelUpgrade libperf-debuginfoUpgrade kernel-tools-libs-develUpgrade kernel-rt-kvmUpgrade kernel-rt-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-modules-core | Aug 1, 2024 | Apr 3, 2024 |
| Suse | — | Upgrade dtb-renesasUpgrade kernel-rt_debugUpgrade kernel-default-develUpgrade dtb-marvellUpgrade kernel-azure-extraUpgrade kernel-default-livepatchUpgrade kernel-rt_debug-vdsoUpgrade kernel-zfcpdumpUpgrade kernel-64kb-optionalUpgrade ocfs2-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade kernel-rt_debug-livepatch-develUpgrade kselftests-kmp-azureUpgrade dtb-lgUpgrade dtb-hisiliconUpgrade kernel-rt-vdsoUpgrade reiserfs-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade dtb-amlogicUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade dtb-socionextUpgrade dtb-amdUpgrade dtb-broadcomUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-docsUpgrade cluster-md-kmp-azureUpgrade kernel-debug-vdsoUpgrade kselftests-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade gfs2-kmp-rtUpgrade kernel-syms-rtUpgrade kernel-azure-optionalUpgrade kernel-source-vanillaUpgrade cluster-md-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-source-azureUpgrade kernel-azureUpgrade reiserfs-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade dtb-freescaleUpgrade kernel-default-baseUpgrade kernel-source-rtUpgrade kernel-rt-optionalUpgrade dtb-amazonUpgrade kernel-rt_debug-develUpgrade kernel-debug-livepatch-develUpgrade kernel-debug-develUpgrade kernel-debugUpgrade dlm-kmp-azureUpgrade kernel-docs-htmlUpgrade kernel-rt-livepatch-develUpgrade kernel-default-extraUpgrade dtb-appleUpgrade kernel-64kbUpgrade kernel-64kb-extraUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-vdsoUpgrade kernel-macrosUpgrade kernel-azure-livepatch-develUpgrade dtb-alteraUpgrade dtb-nvidiaUpgrade kernel-obs-qaUpgrade kernel-default-base-rebuildUpgrade dtb-rockchipUpgrade kernel-devel-azureUpgrade dtb-allwinnerUpgrade kernel-azure-develUpgrade cluster-md-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade dtb-exynosUpgrade kernel-symsUpgrade kernel-rtUpgrade kernel-64kb-develUpgrade kernel-devel-rtUpgrade dtb-caviumUpgrade kernel-default-optionalUpgrade kernel-develUpgrade dtb-armUpgrade kernel-defaultUpgrade gfs2-kmp-defaultUpgrade dtb-xilinxUpgrade kernel-obs-buildUpgrade gfs2-kmp-azureUpgrade kselftests-kmp-defaultUpgrade kernel-rt-extraUpgrade kernel-rt-livepatchUpgrade dtb-sprdUpgrade kernel-rt-develUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmallUpgrade reiserfs-kmp-azureUpgrade cluster-md-kmp-rtUpgrade dtb-qcomUpgrade kernel-sourceUpgrade dtb-mediatekUpgrade ocfs2-kmp-azureUpgrade kernel-syms-azureUpgrade dtb-apmUpgrade dlm-kmp-rtUpgrade ocfs2-kmp-default | May 6, 2024 | Apr 3, 2024 |
| Ubuntu | — | Upgrade linux-image-5.15.0-113-generic-64kUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-112-genericUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-ibmUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oem-20.04bUpgrade linux-image-genericUpgrade linux-image-generic-64kUpgrade linux-image-gke-5.15Upgrade linux-image-gkeopUpgrade linux-image-nvidiaUpgrade linux-image-intelUpgrade linux-image-5.15.0-1063-awsUpgrade linux-image-lowlatency-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-1062-gcpUpgrade linux-image-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1030-xilinx-zynqmpUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-113-genericUpgrade linux-image-5.15.0-1058-nvidia-lowlatencyUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-110-lowlatencyUpgrade linux-image-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.15.0-1061-oracleUpgrade linux-image-aws-lts-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-awsUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-112-generic-64kUpgrade linux-image-oem-20.04Upgrade linux-image-raspiUpgrade linux-image-5.15.0-112-generic-lpaeUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1060-gkeUpgrade linux-image-5.15.0-1058-nvidiaUpgrade linux-image-gkeUpgrade linux-image-5.15.0-113-generic-lpaeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-5.15.0-1066-azureUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1057-ibmUpgrade linux-image-5.15.0-110-lowlatency-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-kvmUpgrade linux-image-5.15.0-1065-azure-fdeUpgrade linux-image-5.15.0-1058-intel-iotgUpgrade linux-image-5.15.0-1056-ibmUpgrade linux-image-5.15.0-1060-kvmUpgrade linux-image-5.15.0-1046-gkeop | Jul 1, 2024 | Apr 3, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 14, 2025 | Apr 3, 2024 |
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