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