In the Linux kernel, the following vulnerability has been resolved:
kernfs: Fix UAF in polling when open file is released
A use-after-free (UAF) vulnerability was identified in the PSI (Pressure Stall Information) monitoring mechanism:
BUG: KASAN: slab-use-after-free in psi_trigger_poll+0x3c/0x140 Read of size 8 at addr ffff3de3d50bd308 by task systemd/1
psi_trigger_poll+0x3c/0x140 cgroup_pressure_poll+0x70/0xa0 cgroup_file_poll+0x8c/0x100 kernfs_fop_poll+0x11c/0x1c0 ep_item_poll.isra.0+0x188/0x2c0
Allocated by task 1: cgroup_file_open+0x88/0x388 kernfs_fop_open+0x73c/0xaf0 do_dentry_open+0x5fc/0x1200 vfs_open+0xa0/0x3f0 do_open+0x7e8/0xd08 path_openat+0x2fc/0x6b0 do_filp_open+0x174/0x368
Freed by task 8462: cgroup_file_release+0x130/0x1f8 kernfs_drain_open_files+0x17c/0x440 kernfs_drain+0x2dc/0x360 kernfs_show+0x1b8/0x288 cgroup_file_show+0x150/0x268 cgroup_pressure_write+0x1dc/0x340 cgroup_file_write+0x274/0x548
Reproduction Steps: 1. Open test/cpu.pressure and establish epoll monitoring 2. Disable monitoring: echo 0 > test/cgroup.pressure 3. Re-enable monitoring: echo 1 > test/cgroup.pressure
The race condition occurs because: 1. When cgroup.pressure is disabled (echo 0 > cgroup.pressure), it: - Releases PSI triggers via cgroup_file_release() - Frees of->priv through kernfs_drain_open_files() 2. While epoll still holds reference to the file and continues polling 3. Re-enabling (echo 1 > cgroup.pressure) accesses freed of->priv
epolling disable/enable cgroup.pressure fd=open(cpu.pressure) while(1) ... epoll_wait kernfs_fop_poll kernfs_get_active = true echo 0 > cgroup.pressure ... cgroup_file_show kernfs_show // inactive kn kernfs_drain_open_files cft->release(of); kfree(ctx); ... kernfs_get_active = false echo 1 > cgroup.pressure kernfs_show kernfs_activate_one(kn); kernfs_fop_poll kernfs_get_active = true cgroup_file_poll psi_trigger_poll // UAF ... end: close(fd)
To address this issue, introduce kernfs_get_active_of() for kernfs open files to obtain active references. This function will fail if the open file has been released. Replace kernfs_get_active() with kernfs_get_active_of() to prevent further operations on released file descriptors.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel-toolsUpgrade perf6.12-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel-livepatch-6.1.155-176.282Upgrade kernel-modules-extraUpgrade kernel6.12-develUpgrade kernel6.12-headersUpgrade kernel6.12-toolsUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-libbpfUpgrade kernel-libbpf-debuginfoUpgrade kernel-tools-develUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-develUpgrade python3-perf6.12Upgrade python3-perfUpgrade perfUpgrade kernel-libbpf-staticUpgrade python3-perf-debuginfoUpgrade bpftool6.12Upgrade kernel-livepatch-6.12.48-67.114Upgrade python3-perf6.12-debuginfoUpgrade kernel6.12-tools-develUpgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-debuginfoUpgrade perf6.12Upgrade kernel6.12-libbpfUpgrade kernel6.12Upgrade kernel-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel-modules-extra-commonUpgrade kernelUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-libbpf-develUpgrade kernel6.12-modules-extra | Oct 16, 2025 | Sep 23, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 25, 2025 | Sep 25, 2025 |
| Oracle_linux | — | Upgrade kernel-uekUpgrade kernel | Oct 8, 2025 | Sep 23, 2025 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rt | Nov 18, 2025 | Sep 23, 2025 |
| Suse | — | Upgrade kernel-zfcpdumpUpgrade kernel-sourceUpgrade kernel-macrosUpgrade kernel-default-extraUpgrade kernel-obs-buildUpgrade kernel-default-baseUpgrade kernel-symsUpgrade kernel-develUpgrade kernel-docsUpgrade kernel-64kbUpgrade kernel-default-develUpgrade reiserfs-kmp-defaultUpgrade kernel-defaultUpgrade kernel-64kb-devel | Dec 5, 2025 | Nov 11, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-azure-fipsUpgrade linux-image-oracle-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-oracleUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-6.8Upgrade linux-image-awsUpgrade linux-image-xilinxUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1050-awsUpgrade linux-image-gcpUpgrade linux-image-xilinx-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-realtimeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-virtualUpgrade linux-image-gke-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-ibm-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-kvmUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-6.8.0-106-fipsUpgrade linux-image-gcp-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-fips-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-genericUpgrade linux-image-raspiUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidiaUpgrade linux-image-gcp-fipsUpgrade linux-image-azureUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-ibm-classicUpgrade linux-image-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtime-6.8.1Upgrade linux-image-gkeopUpgrade linux-image-oem-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-azure-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-lowlatency-6.8Upgrade linux-image-ibmUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-virtual-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-intel-iotgUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oracle-lts-24.04 | Mar 17, 2026 | Sep 23, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 7, 2025 | Sep 23, 2025 |
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