CVE-2025-39910
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 5.17 (inc) to 6.16.8 (exc) |
| linux | linux_kernel | 6.17 |
| 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-667 | The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability in the Linux kernel involves the kasan_populate_vmalloc() function and its helpers ignoring the caller's gfp_mask and always allocating memory using a hardcoded GFP_KERNEL flag. This behavior is inconsistent with vmalloc(), which supports GFP_NOFS and GFP_NOIO flags. Because of this, certain memory allocations, including page table allocations during shadow population, do not respect the intended memory allocation semantics, potentially causing issues such as deadlocks, especially in components like xfs that call vmalloc with GFP_NOFS.
How can this vulnerability impact me? :
The vulnerability can lead to deadlocks in the system, particularly because xfs calls vmalloc with GFP_NOFS, and the kasan_populate_vmalloc() function ignores this flag. This improper handling of memory allocation flags can cause the system to deadlock during memory allocation operations, potentially impacting system stability and reliability.
What immediate steps should I take to mitigate this vulnerability?
Apply the patch that extends kasan_populate_vmalloc() and its helpers to respect the caller's gfp_mask, ensuring that memory allocations use the correct GFP flags (such as GFP_NOFS and GFP_NOIO). This includes updating vmalloc.c and percpu allocator call sites accordingly to prevent deadlocks caused by improper memory allocation flags.