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