CVE-2025-39881
BaseFortify
Publication date: 2025-09-23
Last updated on: 2025-11-03
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.1.153-1 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a use-after-free (UAF) bug in the Linux kernel's PSI (Pressure Stall Information) monitoring mechanism. It occurs when the cgroup.pressure file is disabled and then re-enabled while epoll is still polling the file. Disabling releases and frees certain kernel objects, but epoll continues to access these freed objects, leading to a UAF condition. This can cause the kernel to read invalid memory, potentially leading to crashes or other unpredictable behavior. The fix involves ensuring that operations do not continue on released file descriptors by introducing a function to check active references before proceeding.
How can this vulnerability impact me? :
This vulnerability can impact you by causing kernel instability or crashes due to the use-after-free condition. If exploited, it could potentially allow an attacker to execute arbitrary code in kernel space or cause denial of service by crashing the system. The issue arises during specific operations involving pressure stall information monitoring and cgroup pressure files, which could affect systems relying on these kernel features.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring the use of epoll on the cgroup pressure stall information files, specifically by observing the behavior when disabling and re-enabling cgroup.pressure. Commands to reproduce and detect the issue include: 1) Open the cpu.pressure file and establish epoll monitoring (e.g., using epoll_wait on the file descriptor). 2) Disable monitoring with: echo 0 > /sys/fs/cgroup/pressure/cpu.pressure 3) Re-enable monitoring with: echo 1 > /sys/fs/cgroup/pressure/cpu.pressure 4) Observe for kernel warnings or KASAN slab-use-after-free errors related to psi_trigger_poll. These steps help identify the use-after-free condition triggered by race conditions in polling.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves avoiding the race condition by not disabling and re-enabling cgroup.pressure monitoring while epoll is actively polling the file. Additionally, updating the Linux kernel to a version that includes the fixβwhere kernfs_get_active_of() replaces kernfs_get_active() to prevent operations on released file descriptorsβis recommended to fully address the vulnerability.