CVE-2025-38554
BaseFortify
Publication date: 2025-08-19
Last updated on: 2025-11-18
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.15.160 (inc) to 5.16 (inc) |
| linux | linux_kernel | From 5.15.160 (inc) to 5.16 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-416 | The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a use-after-free (UAF) issue in the Linux kernel's memory management related to virtual memory areas (VMAs). It occurs when a VMA's associated memory descriptor (mm) is freed after the VMA's reference count (vm_refcnt) is dropped. Due to a race condition involving concurrent access and recycling of VMAs, a process can access a VMA that has been freed and reallocated, leading to a UAF scenario. The problem arises because the code assumes the caller keeps the VMA's mm alive, but in this race condition, it does not, causing the rcuwait_wake_up() function to operate on freed memory.
How can this vulnerability impact me? :
This vulnerability can lead to use-after-free conditions in the Linux kernel, which may cause system instability, crashes, or potentially allow an attacker to execute arbitrary code with kernel privileges. Exploiting this flaw could compromise system security by enabling privilege escalation or denial of service.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed by updating the Linux kernel to a version that includes the patch which moves vma->vm_mm verification into vma_start_read() and stabilizes it before vma_refcount_put() operation. Therefore, the immediate step is to apply the kernel update or patch that addresses this use-after-free issue.