CVE-2025-39895
BaseFortify
Publication date: 2025-10-01
Last updated on: 2025-12-12
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | From 6.3 (inc) to 6.6.105 (exc) |
| linux | linux_kernel | From 6.7 (inc) to 6.12.46 (exc) |
| linux | linux_kernel | From 6.13 (inc) to 6.16.6 (exc) |
| linux | linux_kernel | 6.17 |
| linux | linux_kernel | 6.17 |
| linux | linux_kernel | 6.17 |
| linux | linux_kernel | 6.17 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-476 | The product dereferences a pointer that it expects to be valid but is NULL. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is in the Linux kernel's scheduler function sched_numa_find_nth_cpu(). The function uses a binary search to find the closest CPU in certain CPU masks. However, if all CPUs in the given mask are offline, the search returns NULL, and the function previously dereferenced this NULL pointer, causing a kernel crash. The fix ensures the function bails out safely instead of dereferencing a bogus pointer when no CPUs intersect in the mask.
How can this vulnerability impact me? :
This vulnerability can cause a kernel panic and system crash when the scheduler tries to find a CPU in an offline CPU mask, leading to a denial of service. For example, booting with all big CPUs offline on certain hardware (like rk3399) can trigger this bug, resulting in system instability or failure to boot properly.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability manifests as a kernel panic or crash related to sched_numa_find_nth_cpu() when CPUs in the cpus mask are offline. Detection involves monitoring kernel logs for error messages such as 'Unable to handle kernel paging request', 'Internal error: Oops', or kernel panics referencing sched_numa_find_nth_cpu. You can check kernel logs using commands like 'dmesg | grep sched_numa_find_nth_cpu' or 'journalctl -k | grep -i panic'. Additionally, verifying CPU online/offline status with 'cat /sys/devices/system/cpu/cpu*/online' may help identify conditions triggering the bug.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves updating the Linux kernel to a version where the sched_numa_find_nth_cpu() function is fixed to handle offline CPUs correctly. Until an update is applied, avoid booting the system with all CPUs in the cpus mask offline (e.g., avoid using maxcpus=4 on rk3399 with all big CPUs offline). Monitoring and ensuring CPUs are online during boot can help prevent triggering the bug.