CVE-2024-36943

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-36943
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-36943.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-36943
Downstream
Published
2024-05-30T15:35:42Z
Modified
2025-10-14T16:44:03.504165Z
Summary
fs/proc/task_mmu: fix loss of young/dirty bits during pagemap scan
Details

In the Linux kernel, the following vulnerability has been resolved:

fs/proc/task_mmu: fix loss of young/dirty bits during pagemap scan

makeuffdwp_pte() was previously doing:

pte = ptepget(ptep); ptepmodifyprotstart(ptep); pte = ptemkuffdwp(pte); ptepmodifyprot_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 ptepmodifyprot_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 = ptepmodifyprotstart(ptep); pte = ptemkuffdwp(pte); ptepmodifyprotcommit(ptep, pte);

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
52526ca7fdb905a768a93f8faa418e9b988fc34b
Fixed
74b3d66f91d9f539f99faad74d796fa9a389a015
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
52526ca7fdb905a768a93f8faa418e9b988fc34b
Fixed
c70dce4982ce1718bf978a35f8e26160b82081f4

Affected versions

v6.*

v6.6
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.8.1
v6.8.2
v6.8.3
v6.8.4
v6.8.5
v6.8.6
v6.8.7
v6.8.8
v6.8.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4

Database specific

{
    "vanir_signatures": [
        {
            "target": {
                "file": "fs/proc/task_mmu.c"
            },
            "id": "CVE-2024-36943-d0e56e50",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "178149443372465452950006555662685828140",
                    "259174068185066441737480883071601879488",
                    "154387457119575594475612024270051455521",
                    "123040074461021125722855029099230285685"
                ]
            },
            "signature_version": "v1",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c70dce4982ce1718bf978a35f8e26160b82081f4",
            "signature_type": "Line"
        },
        {
            "target": {
                "file": "fs/proc/task_mmu.c"
            },
            "id": "CVE-2024-36943-fc71f587",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "178149443372465452950006555662685828140",
                    "259174068185066441737480883071601879488",
                    "154387457119575594475612024270051455521",
                    "123040074461021125722855029099230285685"
                ]
            },
            "signature_version": "v1",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@74b3d66f91d9f539f99faad74d796fa9a389a015",
            "signature_type": "Line"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.8.10