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