CVE-2024-36943

CVE-2024-36943

High · published May 30, 2024

CVSS v3.1
7.3
EPSS
0%
Percentile
7.4
In the wild
Unconfirmed
What it is

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);

The record
Technical detail
CVSS v3.1
7.3 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00182 · 7.4th percentile
Published
2024-05-30T20:15Z
Affected products (8)
ProductVersionsFixed in
linux/linux_kernel≥ 6.7, < 6.8.106.8.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 30 MAY 15:35Z
    fs/proc/task_mmu: fix loss of young/dirty bits during pagemap scan
    cvelistv5