In the Linux kernel, the following vulnerability has been resolved:
perf: Fix event leak upon exit
When a task is scheduled out, pending sigtrap deliveries are deferred to the target task upon resume to userspace via task_work.
However failures while adding an event's callback to the task_work engine are ignored. And since the last call for events exit happen after task work is eventually closed, there is a small window during which pending sigtrap can be queued though ignored, leaking the event refcount addition such as in the following scenario:
TASK A -----
do_exit() exit_task_work(tsk);
<IRQ> perf_event_overflow() event->pending_sigtrap = pending_id; irq_work_queue(&event->pending_irq); </IRQ> =========> PREEMPTION: TASK A -> TASK B event_sched_out() event->pending_sigtrap = 0; atomic_long_inc_not_zero(&event->refcount) // FAILS: task work has exited task_work_add(&event->pending_task) [...] <IRQ WORK> perf_pending_irq() // early return: event->oncpu = -1 </IRQ WORK> [...] =========> TASK B -> TASK A perf_event_exit_task(tsk) perf_event_exit_event() free_event() WARN(atomic_long_cmpxchg(&event->refcount, 1, 0) != 1) // leak event due to unexpected refcount == 2
As a result the event is never released while the task exits.
Fix this with appropriate task_work_add()'s error handling.
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-livepatch-5.15.165-110.161Upgrade perf-debuginfoUpgrade perfUpgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade python-perfUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernelUpgrade kernel-tools-develUpgrade kernel-headers | Sep 16, 2024 | Aug 21, 2024 |
| Amazon_linux_2023 | — | Upgrade python3-perf-debuginfoUpgrade kernel-headersUpgrade bpftoolUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel-livepatch-6.1.106-116.188Upgrade kernel-libbpf-develUpgrade kernel-modules-extraUpgrade kernel-libbpf-staticUpgrade kernelUpgrade kernel-libbpfUpgrade python3-perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-modules-extra-commonUpgrade kernel-debuginfoUpgrade perfUpgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-devel | Feb 17, 2025 | Aug 21, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 2, 2024 | Aug 21, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Nov 21, 2024 | Aug 21, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Dec 5, 2024 | Aug 21, 2024 |
| Suse | — | Upgrade kernel-kvmsmall-develUpgrade kernel-rt-vdsoUpgrade kernel-default-livepatchUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-64kbUpgrade kernel-azure-vdsoUpgrade kernel-debug-vdsoUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kselftests-kmp-rtUpgrade dtb-amazonUpgrade kernel-source-rtUpgrade kernel-kvmsmall-vdsoUpgrade dtb-appleUpgrade kernel-docs-htmlUpgrade kernel-rt-optionalUpgrade kernel-rt-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-default-baseUpgrade kernel-rt_debug-develUpgrade gfs2-kmp-defaultUpgrade dtb-marvellUpgrade kernel-macrosUpgrade kernel-default-develUpgrade kernel-debug-livepatch-develUpgrade dtb-amdUpgrade kernel-debug-develUpgrade dtb-freescaleUpgrade dtb-lgUpgrade dtb-alteraUpgrade kernel-rt_debugUpgrade dtb-broadcomUpgrade dtb-hisiliconUpgrade dtb-socionextUpgrade gfs2-kmp-rtUpgrade kernel-azure-extraUpgrade dtb-amlogicUpgrade kernel-azureUpgrade kernel-syms-rtUpgrade kernel-default-livepatch-develUpgrade kernel-zfcpdumpUpgrade kernel-azure-optionalUpgrade dlm-kmp-64kbUpgrade dlm-kmp-defaultUpgrade dtb-renesasUpgrade cluster-md-kmp-azureUpgrade kernel-64kb-livepatch-develUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-source-vanillaUpgrade kernel-source-azureUpgrade kernel-64kb-optionalUpgrade kernel-debugUpgrade kernel-rt_debug-vdsoUpgrade kernel-symsUpgrade dtb-sprdUpgrade dtb-nvidiaUpgrade dtb-caviumUpgrade kernel-syms-azureUpgrade dtb-apmUpgrade kernel-rt-develUpgrade dtb-qcomUpgrade kernel-64kb-extraUpgrade dtb-rockchipUpgrade kernel-obs-qaUpgrade kernel-docsUpgrade dtb-armUpgrade kernel-defaultUpgrade kernel-rtUpgrade kernel-default-optionalUpgrade dtb-mediatekUpgrade dtb-allwinnerUpgrade kernel-kvmsmallUpgrade reiserfs-kmp-azureUpgrade kernel-develUpgrade dtb-exynosUpgrade kselftests-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade kselftests-kmp-64kbUpgrade gfs2-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-rtUpgrade cluster-md-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-rtUpgrade kernel-rt-extraUpgrade kernel-default-vdsoUpgrade dlm-kmp-azureUpgrade kernel-sourceUpgrade kernel-devel-rtUpgrade kernel-azure-livepatch-develUpgrade dtb-xilinxUpgrade kernel-devel-azureUpgrade kernel-default-extraUpgrade kernel-azure-develUpgrade kernel-obs-buildUpgrade kernel-64kb-devel | Dec 5, 2025 | Oct 8, 2024 |
| Ubuntu | — | Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-kvmUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-azure-cvmUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-gcpUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-awsUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-aws-lts-22.04Upgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-50-genericUpgrade linux-image-oracleUpgrade linux-image-raspi-nolpaeUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-oem-20.04dUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.15.0-1072-awsUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-5.15.0-1075-azureUpgrade linux-image-gke-5.15Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-125-genericUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-20.04cUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1020-awsUpgrade linux-image-azureUpgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-oem-24.04Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1020-azureUpgrade linux-image-gkeop-6.8Upgrade linux-image-virtualUpgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-genericUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidiaUpgrade linux-image-ibmUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1018-oemUpgrade linux-image-raspiUpgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-intelUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1069-kvm | 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