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.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade python3-perfUpgrade kernel6.12-tools-debuginfoUpgrade kernel-libbpf-debuginfoUpgrade kernel-tools-develUpgrade kernel6.12-toolsUpgrade perf6.12-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-livepatch-6.1.155-176.282Upgrade bpftoolUpgrade kernel-modules-extraUpgrade kernel-libbpfUpgrade python3-perf6.12Upgrade kernel-libbpf-staticUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade kernel6.12-develUpgrade kernel-tools-debuginfoUpgrade perfUpgrade kernel6.12-headersUpgrade perf-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel-headersUpgrade perf6.12Upgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-debuginfoUpgrade kernel-libbpf-develUpgrade kernel6.12-modules-extraUpgrade kernel-livepatch-6.12.48-67.114Upgrade kernel6.12-libbpf-staticUpgrade kernel6.12-libbpfUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12Upgrade kernel-modules-extra-commonUpgrade kernel-debuginfoUpgrade kernelUpgrade bpftool6.12Upgrade kernel6.12-libbpf-develUpgrade kernel6.12-tools-devel | Oct 16, 2025 | Sep 23, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 25, 2025 | Sep 25, 2025 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Oct 8, 2025 | Sep 23, 2025 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rt | Nov 18, 2025 | Sep 23, 2025 |
| Suse | — | Upgrade kernel-default-extraUpgrade kernel-sourceUpgrade kernel-zfcpdumpUpgrade kernel-obs-buildUpgrade kernel-macrosUpgrade kernel-defaultUpgrade kernel-default-baseUpgrade kernel-default-develUpgrade reiserfs-kmp-defaultUpgrade kernel-symsUpgrade kernel-docsUpgrade kernel-develUpgrade kernel-64kbUpgrade kernel-64kb-devel | Dec 5, 2025 | Nov 11, 2025 |
| Ubuntu | — | Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-oem-22.04cUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-fipsUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-aws-64kUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-aws-fipsUpgrade linux-image-intel-iotgUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-azureUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-gke-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-ibmUpgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-genericUpgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-gkeUpgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-raspiUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-virtual-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-azure-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-22.04Upgrade linux-image-gkeopUpgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-awsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-generic-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcpUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gke-64kUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-oracleUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azure-fipsUpgrade linux-image-ibm-6.8Upgrade linux-image-virtualUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1050-awsUpgrade linux-image-gcp-6.8Upgrade linux-image-realtimeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-raspi-realtimeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-kvmUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-106-fipsUpgrade linux-image-gcp-64kUpgrade linux-image-oem-22.04dUpgrade 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-fips-6.8Upgrade linux-image-xilinxUpgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gcp-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 |
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