CVE-2025-38085
Analyzed Analyzed - Analysis Complete
BaseFortify

Publication date: 2025-06-28

Last updated on: 2025-12-18

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb: fix huge_pmd_unshare() vs GUP-fast race huge_pmd_unshare() drops a reference on a page table that may have previously been shared across processes, potentially turning it into a normal page table used in another process in which unrelated VMAs can afterwards be installed. If this happens in the middle of a concurrent gup_fast(), gup_fast() could end up walking the page tables of another process. While I don't see any way in which that immediately leads to kernel memory corruption, it is really weird and unexpected. Fix it with an explicit broadcast IPI through tlb_remove_table_sync_one(), just like we do in khugepaged when removing page tables for a THP collapse.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-06-28
Last Modified
2025-12-18
Generated
2026-05-07
AI Q&A
2025-06-28
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 7 associated CPEs
Vendor Product Version / Range
linux linux_kernel From 2.6.20 (inc) to 5.10.239 (exc)
linux linux_kernel From 5.11 (inc) to 5.15.186 (exc)
linux linux_kernel From 5.16 (inc) to 6.1.142 (exc)
linux linux_kernel From 6.2 (inc) to 6.6.95 (exc)
linux linux_kernel From 6.7 (inc) to 6.12.35 (exc)
linux linux_kernel From 6.13 (inc) to 6.15.4 (exc)
debian debian_linux 11.0
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-362 The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability involves the Linux kernel's huge page management where the function huge_pmd_unshare() improperly drops a reference on a shared page table. This can cause the page table to be reused by another process with unrelated virtual memory areas (VMAs). If this occurs concurrently with a gup_fast() operation, gup_fast() might access the page tables of a different process unexpectedly. Although this does not appear to cause immediate kernel memory corruption, it results in unusual and unintended behavior in memory management.


How can this vulnerability impact me? :

The impact of this vulnerability is that a process could potentially access or walk the page tables of another process due to the race condition. While it does not directly lead to kernel memory corruption, this unexpected behavior could cause instability or unpredictable behavior in the system's memory management, potentially affecting system reliability or security isolation between processes.


What immediate steps should I take to mitigate this vulnerability?

Apply the Linux kernel update that includes the fix for the huge_pmd_unshare() vs GUP-fast race condition. This fix involves an explicit broadcast IPI through tlb_remove_table_sync_one(), preventing the race condition. Until the patch is applied, avoid running untrusted or concurrent workloads that might trigger this race condition.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart