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