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