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 kernel6.12-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-debuginfoUpgrade perfUpgrade bpftool-debuginfoUpgrade perf6.12-debuginfoUpgrade kernel6.12-headersUpgrade bpftoolUpgrade kernel6.12-develUpgrade kernel-livepatch-6.1.155-176.282Upgrade kernel-toolsUpgrade python3-perf-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-toolsUpgrade kernel-develUpgrade kernel-libbpf-staticUpgrade kernel-modules-extraUpgrade python3-perf6.12Upgrade kernel-libbpfUpgrade kernel-libbpf-debuginfoUpgrade kernel-tools-develUpgrade python3-perfUpgrade kernel-libbpf-develUpgrade kernel6.12-libbpf-staticUpgrade kernelUpgrade kernel6.12-libbpfUpgrade kernel6.12Upgrade kernel-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade bpftool6.12Upgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade kernel6.12-modules-extraUpgrade kernel-livepatch-6.12.48-67.114Upgrade kernel6.12-debuginfoUpgrade kernel-headersUpgrade kernel6.12-libbpf-develUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-tools-develUpgrade kernel6.12-modules-extra-commonUpgrade perf6.12Upgrade kernel-modules-extra-common | Oct 16, 2025 | Sep 23, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Sep 25, 2025 | Sep 25, 2025 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Oct 8, 2025 | Sep 23, 2025 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernel | Nov 18, 2025 | Sep 23, 2025 |
| Suse | — | Upgrade kernel-obs-buildUpgrade kernel-default-extraUpgrade kernel-zfcpdumpUpgrade kernel-macrosUpgrade kernel-sourceUpgrade reiserfs-kmp-defaultUpgrade kernel-docsUpgrade kernel-symsUpgrade kernel-defaultUpgrade kernel-default-develUpgrade kernel-64kbUpgrade kernel-default-baseUpgrade kernel-64kb-develUpgrade kernel-devel | Dec 5, 2025 | Nov 11, 2025 |
| Ubuntu | — | Upgrade linux-image-gkeUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-generic-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-gcp-fipsUpgrade linux-image-azureUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-ibmUpgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-aws-fipsUpgrade linux-image-oem-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-lowlatency-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-gkeopUpgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-nvidia-6.8Upgrade linux-image-fipsUpgrade linux-image-intel-iotgUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.8.0-106-genericUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-aws-64kUpgrade linux-image-nvidiaUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-oem-22.04aUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-genericUpgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-aws-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-azure-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-kvmUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gke-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gke-64k-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-fips-6.8Upgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-gcpUpgrade linux-image-6.8.0-1050-awsUpgrade linux-image-realtimeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcp-6.8Upgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-generic-6.8Upgrade linux-image-awsUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-xilinxUpgrade linux-image-raspi-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-virtualUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azure-fipsUpgrade linux-image-oracle-6.8Upgrade linux-image-6.8.0-106-fipsUpgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-raspi-realtimeUpgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-gcp-64k-6.8 | 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