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 kernel-debuginfoUpgrade kernelUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade perf-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernel-livepatch-5.15.165-110.161Upgrade python-perfUpgrade kernel-headersUpgrade bpftool-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-tools | Sep 16, 2024 | Aug 21, 2024 |
| Amazon_linux_2023 | — | Upgrade python3-perf-debuginfoUpgrade kernel-develUpgrade perfUpgrade kernelUpgrade kernel-libbpf-develUpgrade kernel-modules-extraUpgrade kernel-tools-debuginfoUpgrade kernel-libbpfUpgrade python3-perfUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-6.1.106-116.188Upgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade kernel-modules-extra-commonUpgrade kernel-libbpf-static | Feb 17, 2025 | Aug 21, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 2, 2024 | Aug 21, 2024 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Dec 5, 2024 | Aug 21, 2024 |
| Suse | — | Upgrade reiserfs-kmp-rtUpgrade dtb-rockchipUpgrade kernel-default-baseUpgrade kernel-rt-extraUpgrade kernel-debug-vdsoUpgrade kernel-rt_debugUpgrade kselftests-kmp-azureUpgrade kernel-develUpgrade kernel-azureUpgrade kselftests-kmp-rtUpgrade dtb-caviumUpgrade kselftests-kmp-defaultUpgrade dtb-nvidiaUpgrade reiserfs-kmp-64kbUpgrade dtb-sprdUpgrade reiserfs-kmp-azureUpgrade kernel-docsUpgrade dtb-renesasUpgrade dtb-socionextUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-extraUpgrade kernel-obs-buildUpgrade dtb-armUpgrade kernel-default-base-rebuildUpgrade kernel-default-optionalUpgrade kernel-rt_debug-develUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-defaultUpgrade dtb-allwinnerUpgrade kernel-defaultUpgrade dlm-kmp-azureUpgrade kernel-kvmsmall-vdsoUpgrade gfs2-kmp-defaultUpgrade dlm-kmp-defaultUpgrade kernel-rt-vdsoUpgrade kernel-rt-optionalUpgrade kernel-source-rtUpgrade dlm-kmp-rtUpgrade kernel-default-livepatch-develUpgrade ocfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-azureUpgrade kernel-64kbUpgrade dtb-appleUpgrade ocfs2-kmp-64kbUpgrade kernel-sourceUpgrade kernel-macrosUpgrade kernel-devel-rtUpgrade kernel-debug-develUpgrade gfs2-kmp-64kbUpgrade dtb-broadcomUpgrade dtb-apmUpgrade dtb-alteraUpgrade ocfs2-kmp-rtUpgrade kernel-syms-azureUpgrade dtb-freescaleUpgrade kernel-azure-vdsoUpgrade dtb-amlogicUpgrade kernel-rtUpgrade kernel-docs-htmlUpgrade kernel-debugUpgrade dtb-exynosUpgrade kernel-source-azureUpgrade kernel-rt-livepatch-develUpgrade gfs2-kmp-rtUpgrade dtb-xilinxUpgrade kselftests-kmp-64kbUpgrade kernel-default-livepatchUpgrade kernel-default-develUpgrade kernel-64kb-optionalUpgrade kernel-64kb-develUpgrade kernel-azure-extraUpgrade kernel-symsUpgrade kernel-default-extraUpgrade kernel-azure-optionalUpgrade kernel-azure-develUpgrade dtb-amdUpgrade cluster-md-kmp-azureUpgrade kernel-syms-rtUpgrade kernel-rt-develUpgrade dtb-qcomUpgrade kernel-rt_debug-vdsoUpgrade dtb-mediatekUpgrade dtb-marvellUpgrade dlm-kmp-64kbUpgrade dtb-hisiliconUpgrade kernel-obs-qaUpgrade kernel-zfcpdumpUpgrade kernel-default-vdsoUpgrade dtb-lgUpgrade cluster-md-kmp-defaultUpgrade kernel-devel-azureUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmallUpgrade dtb-amazon | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1078-azureUpgrade linux-image-nvidiaUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-genericUpgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-5.15.0-125-genericUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1018-oemUpgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-6.8.0-50-genericUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-nvidia-6.8Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-azure-lts-22.04Upgrade linux-image-azureUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-6.8.0-1020-awsUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-awsUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-oem-20.04dUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1020-azureUpgrade linux-image-gkeUpgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-aws-lts-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-ibmUpgrade linux-image-kvmUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1069-kvmUpgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-oem-24.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-intel-iotgUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-gcpUpgrade linux-image-nvidia-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-oem-22.04cUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-5.15.0-1075-azureUpgrade linux-image-oem-24.04aUpgrade linux-image-intelUpgrade linux-image-lowlatencyUpgrade linux-image-generic-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-5.15.0-1072-awsUpgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-oem-20.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-virtual | 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