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