UBUNTU-CVE-2024-35987
In the Linux kernel, the following vulnerability has been resolved: riscv: Fix loading 64-bit NOMMU kernels past the start of RAM commit 3335068f8721 ("riscv: Use PUD/P4D/PGD pages for the linear mapping") added logic to allow using RAM below the kernel load address. However, this does not work for NOMMU, where PAGE_OFFSET is fixed to the kernel load address. Since that range of memory corresponds to PFNs below ARCH_PFN_OFFSET, mm initialization runs off the beginning of mem_map and corrupts adjacent kernel memory. Fix this by restoring the previous behavior for NOMMU kernels.
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
8 explicit affected versions
10 explicit affected versions
7 explicit affected versions
7 explicit affected versions
2 explicit affected versions
13 explicit affected versions
4 explicit affected versions
35 explicit affected versions
18 explicit affected versions
7 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
11 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
9 explicit affected versions
7 explicit affected versions
12 explicit affected versions
12 explicit affected versions
14 explicit affected versions
1 explicit affected versions
7 explicit affected versions
12 explicit affected versions
12 explicit affected versions
3 explicit affected versions
37 explicit affected versions
13 explicit affected versions
1 explicit affected versions
10 explicit affected versions
26 explicit affected versions
13 explicit affected versions
29 explicit affected versions
13 explicit affected versions
1 explicit affected versions
2 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
12 explicit affected versions
7 explicit affected versions
12 explicit affected versions
10 explicit affected versions
26 explicit affected versions
9 explicit affected versions
2 explicit affected versions
10 explicit affected versions
13 explicit affected versions
9 explicit affected versions
16 explicit affected versions
10 explicit affected versions
3 explicit affected versions
51 explicit affected versions
7 explicit affected versions
12 explicit affected versions
27 explicit affected versions
3 explicit affected versions
8 explicit affected versions
5 explicit affected versions
8 explicit affected versions
10 explicit affected versions
6 explicit affected versions
13 explicit affected versions
13 explicit affected versions
7 explicit affected versions
10 explicit affected versions
12 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
37 explicit affected versions
10 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
11 explicit affected versions
2 explicit affected versions
7 explicit affected versions
4 explicit affected versions
13 explicit affected versions
43 explicit affected versions
10 explicit affected versions
8 explicit affected versions
5 explicit affected versions
14 explicit affected versions
4 explicit affected versions
11 explicit affected versions
1 explicit affected versions
3 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: riscv: Fix loading 64-bit NOMMU kernels past the start of RAM commit 3335068f8721 ("riscv: Use PUD/P4D/PGD pages for the linear mapping") added logic to allow using RAM below the kernel load address. However, this does not work for NOMMU, where PAGE_OFFSET is fixed to the kernel load address. Since that range of memory corresponds to PFNs below ARCH_PFN_OFFSET, mm initialization runs off the beginning of mem_map and corrupts adjacent kernel memory. Fix this by restoring the previous behavior for NOMMU kernels.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/aea702dde7e9876fb00571a2602f25130847bf0f
- https://git.kernel.org/stable/c/aea702dde7e9876fb00571a2602f25130847bf0f
- https://git.kernel.org/stable/c/b008e327fa570aca210f98c817757649bae56694
- https://git.kernel.org/stable/c/ea6628e4e2353978af7e3b4ad4fdaab6149acf3d
- https://ubuntu.com/security/CVE-2024-35987
- https://ubuntu.com/security/notices/USN-6949-1
- https://ubuntu.com/security/notices/USN-6949-2
- https://ubuntu.com/security/notices/USN-6952-1
- https://ubuntu.com/security/notices/USN-6952-2
- https://ubuntu.com/security/notices/USN-6955-1
- https://www.cve.org/CVERecord?id=CVE-2024-35987