CVE-2024-47674
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
15/10/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm: avoid leaving partial pfn mappings around in error case<br />
<br />
As Jann points out, PFN mappings are special, because unlike normal<br />
memory mappings, there is no lifetime information associated with the<br />
mapping - it is just a raw mapping of PFNs with no reference counting of<br />
a &#39;struct page&#39;.<br />
<br />
That&#39;s all very much intentional, but it does mean that it&#39;s easy to<br />
mess up the cleanup in case of errors. Yes, a failed mmap() will always<br />
eventually clean up any partial mappings, but without any explicit<br />
lifetime in the page table mapping itself, it&#39;s very easy to do the<br />
error handling in the wrong order.<br />
<br />
In particular, it&#39;s easy to mistakenly free the physical backing store<br />
before the page tables are actually cleaned up and (temporarily) have<br />
stale dangling PTE entries.<br />
<br />
To make this situation less error-prone, just make sure that any partial<br />
pfn mapping is torn down early, before any other error handling.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.168 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.111 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.52 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.11 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc7:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/3213fdcab961026203dd587a4533600c70b3336b
- https://git.kernel.org/stable/c/35770ca6180caa24a2b258c99a87bd437a1ee10f
- https://git.kernel.org/stable/c/5b2c8b34f6d76bfbd1dd4936eb8a0fbfb9af3959
- https://git.kernel.org/stable/c/65d0db500d7c07f0f76fc24a4d837791c4862cd2
- https://git.kernel.org/stable/c/79a61cc3fc0466ad2b7b89618a6157785f0293b3
- https://git.kernel.org/stable/c/954fd4c81f22c4b6ba65379a81fd252971bf4ef3
- https://git.kernel.org/stable/c/a95a24fcaee1b892e47d5e6dcc403f713874ee80
- https://project-zero.issues.chromium.org/issues/366053091
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html



