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