Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa before 952596b08c74e8fe9e2883d1dc8a8f54a37384ec; affected 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa before a3d864c901a300c295692d129159fc3001a56185; affected 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa before b7754d3aa7bf9f62218d096c0c8f6c13698fac8b; affected 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa before fe684290418ef9ef76630072086ee530b92f02b8; affected 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa before 034a52b5ef57c9c8225d94e9067f3390bb33922f; affected 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa before a6bfeb97941a9187833b526bc6cc4ff5706d0ce9; affected 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa before 1013af4f585fccc4d3e5c5824d174de2257f7d6d |
| Linux / Linux | affected 2.6.20; unaffected 0 before 2.6.20; unaffected 5.10.239 through 5.10.*; unaffected 5.15.186 through 5.15.*; unaffected 6.1.142 through 6.1.*; unaffected 6.6.95 through 6.6.*; unaffected 6.12.35 through 6.12.*; unaffected 6.15.4 through 6.15.*; unaffected 6.16 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/952596b08c74e8fe9e2883d1dc8a8f54a37384ec
- https://git.kernel.org/stable/c/a3d864c901a300c295692d129159fc3001a56185
- https://git.kernel.org/stable/c/b7754d3aa7bf9f62218d096c0c8f6c13698fac8b
- https://git.kernel.org/stable/c/fe684290418ef9ef76630072086ee530b92f02b8
- https://git.kernel.org/stable/c/034a52b5ef57c9c8225d94e9067f3390bb33922f
- https://git.kernel.org/stable/c/a6bfeb97941a9187833b526bc6cc4ff5706d0ce9
- https://git.kernel.org/stable/c/1013af4f585fccc4d3e5c5824d174de2257f7d6d
- https://project-zero.issues.chromium.org/issues/420715744
ADP enrichment
No English description supplied.
No English description supplied.
No references supplied.