In the Linux kernel, the following vulnerability has been resolved:
fs/proc/task_mmu: fix loss of young/dirty bits during pagemap scan
make_uffd_wp_pte() was previously doing:
pte = ptep_get(ptep);
ptep_modify_prot_start(ptep);
pte = pte_mkuffd_wp(pte);
ptep_modify_prot_commit(ptep, pte);
But if another thread accessed or dirtied the pte between the first 2
calls, this could lead to loss of that information. Since
ptep_modify_prot_start() gets and clears atomically, the following is the
correct pattern and prevents any possible race. Any access after the
first call would see an invalid pte and cause a fault:
pte = ptep_modify_prot_start(ptep);
pte = pte_mkuffd_wp(pte);
ptep_modify_prot_commit(ptep, pte);
Metrics
Affected Vendors & Products
References
History
No history.
MITRE
Status: PUBLISHED
Assigner: Linux
Published: 2024-05-30T15:35:42.119Z
Updated: 2024-12-19T09:02:54.527Z
Reserved: 2024-05-30T15:25:07.073Z
Link: CVE-2024-36943
Vulnrichment
Updated: 2024-08-02T03:43:50.375Z
NVD
Status : Awaiting Analysis
Published: 2024-05-30T16:15:17.307
Modified: 2024-11-21T09:22:52.417
Link: CVE-2024-36943
Redhat