In the Linux kernel, the following vulnerability has been resolved:
perf: Fix event leak upon exec and file release
The perf pending task work is never waited upon the matching event release. In the case of a child event, released via free_event() directly, this can potentially result in a leaked event, such as in the following scenario that doesn't even require a weak IRQ work implementation to trigger:
schedule() prepare_task_switch() =======> <NMI> perf_event_overflow() event->pending_sigtrap = ... irq_work_queue(&event->pending_irq) <======= </NMI> perf_event_task_sched_out() event_sched_out() event->pending_sigtrap = 0; atomic_long_inc_not_zero(&event->refcount) task_work_add(&event->pending_task) finish_lock_switch() =======> <IRQ> perf_pending_irq() //do nothing, rely on pending task work <======= </IRQ>
begin_new_exec() perf_event_exit_task() perf_event_exit_event() // If is child event free_event() WARN(atomic_long_cmpxchg(&event->refcount, 1, 0) != 1) // event is leaked
Similar scenarios can also happen with perf_event_remove_on_exec() or simply against concurrent perf_event_release().
Fix this with synchonizing against the possibly remaining pending task work while freeing the event, just like is done with remaining pending IRQ work. This means that the pending task callback neither need nor should hold a reference to the event, preventing it from ever beeing freed.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade bpftool-debuginfoUpgrade kernel-headersUpgrade bpftoolUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.15.165-110.161Upgrade python-perfUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade kernelUpgrade perf-debuginfoUpgrade kernel-develUpgrade kernel-tools-develUpgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo | Sep 16, 2024 | Aug 21, 2024 |
| Amazon_linux_2023 | — | Upgrade bpftoolUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-6.1.106-116.188Upgrade kernel-libbpf-staticUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-tools-develUpgrade kernel-tools-debuginfoUpgrade python3-perfUpgrade perf-debuginfoUpgrade kernel-develUpgrade python3-perf-debuginfoUpgrade kernel-modules-extraUpgrade kernel-libbpf-develUpgrade kernel-libbpfUpgrade kernel-debuginfoUpgrade perfUpgrade kernel-headersUpgrade kernel | Feb 17, 2025 | Aug 21, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 2, 2024 | Aug 21, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernel-rtUpgrade kernel | Dec 5, 2024 | Aug 21, 2024 |
| Suse | — | Upgrade kernel-default-base-rebuildUpgrade dtb-caviumUpgrade dtb-socionextUpgrade kernel-default-optionalUpgrade kernel-rt_debug-develUpgrade dtb-nvidiaUpgrade kernel-64kb-extraUpgrade kernel-develUpgrade kselftests-kmp-defaultUpgrade dlm-kmp-rtUpgrade kernel-rt-vdsoUpgrade kernel-default-livepatch-develUpgrade kernel-source-rtUpgrade kernel-docsUpgrade ocfs2-kmp-azureUpgrade kernel-source-vanillaUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-rtUpgrade dtb-renesasUpgrade kernel-obs-buildUpgrade dtb-armUpgrade cluster-md-kmp-64kbUpgrade dlm-kmp-azureUpgrade reiserfs-kmp-azureUpgrade gfs2-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-optionalUpgrade kernel-defaultUpgrade ocfs2-kmp-defaultUpgrade dtb-rockchipUpgrade kernel-rt-extraUpgrade reiserfs-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-debug-vdsoUpgrade kernel-default-baseUpgrade kernel-azureUpgrade kernel-rt_debugUpgrade kselftests-kmp-azureUpgrade kselftests-kmp-rtUpgrade dtb-allwinnerUpgrade dlm-kmp-defaultUpgrade dtb-sprdUpgrade reiserfs-kmp-64kbUpgrade kernel-rt-livepatch-develUpgrade kernel-devel-rtUpgrade dtb-xilinxUpgrade kselftests-kmp-64kbUpgrade kernel-64kb-optionalUpgrade dtb-exynosUpgrade kernel-symsUpgrade kernel-64kb-develUpgrade kernel-azure-extraUpgrade gfs2-kmp-rtUpgrade kernel-source-azureUpgrade gfs2-kmp-64kbUpgrade kernel-rt-develUpgrade kernel-azure-develUpgrade dtb-amdUpgrade kernel-default-extraUpgrade dtb-amazonUpgrade cluster-md-kmp-azureUpgrade kernel-syms-rtUpgrade kernel-kvmsmall-develUpgrade kernel-devel-azureUpgrade kernel-kvmsmallUpgrade ocfs2-kmp-64kbUpgrade kernel-azure-optionalUpgrade kernel-sourceUpgrade kernel-macrosUpgrade dtb-lgUpgrade cluster-md-kmp-defaultUpgrade ocfs2-kmp-rtUpgrade kernel-zfcpdumpUpgrade kernel-default-vdsoUpgrade dtb-freescaleUpgrade dtb-alteraUpgrade kernel-debugUpgrade kernel-azure-vdsoUpgrade kernel-64kbUpgrade dtb-appleUpgrade kernel-rtUpgrade kernel-docs-htmlUpgrade dtb-amlogicUpgrade dtb-marvellUpgrade dtb-hisiliconUpgrade dlm-kmp-64kbUpgrade dtb-qcomUpgrade dtb-mediatekUpgrade kernel-rt_debug-vdsoUpgrade dtb-broadcomUpgrade dtb-apmUpgrade kernel-syms-azureUpgrade kernel-obs-qaUpgrade kernel-debug-develUpgrade kernel-default-livepatchUpgrade kernel-default-devel | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-genericUpgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-generic-lpaeUpgrade linux-image-nvidia-6.8Upgrade linux-image-gkeop-5.15Upgrade linux-image-raspi-nolpaeUpgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-50-genericUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1020-awsUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidiaUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-azure-cvmUpgrade linux-image-azureUpgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-5.15.0-125-genericUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-raspiUpgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1018-oemUpgrade linux-image-awsUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-azure-lts-22.04Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-oem-22.04bUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1069-kvmUpgrade linux-image-aws-lts-22.04Upgrade linux-image-ibmUpgrade linux-image-virtualUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1072-awsUpgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-intelUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-oem-22.04cUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1075-azureUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-lowlatencyUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1020-azureUpgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-gcpUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-oem-24.04Upgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-kvm | Nov 12, 2024 | Aug 21, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Aug 21, 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