In the Linux kernel, the following vulnerability has been resolved:
riscv: mm: Fix the out of bound issue of vmemmap address
In sparse vmemmap model, the virtual address of vmemmap is calculated as:
((struct page *)VMEMMAP_START - (phys_ram_base >> PAGE_SHIFT)).
And the struct page's va can be calculated with an offset:
(vmemmap + (pfn)).
However, when initializing struct pages, kernel actually starts from the
first page from the same section that phys_ram_base belongs to. If the
first page's physical address is not (phys_ram_base >> PAGE_SHIFT), then
we get an va below VMEMMAP_START when calculating va for it's struct page.
For example, if phys_ram_base starts from 0x82000000 with pfn 0x82000, the
first page in the same section is actually pfn 0x80000. During
init_unavailable_range(), we will initialize struct page for pfn 0x80000
with virtual address ((struct page *)VMEMMAP_START - 0x2000), which is
below VMEMMAP_START as well as PCI_IO_END.
This commit fixes this bug by introducing a new variable
'vmemmap_start_pfn' which is aligned with memory section size and using
it to calculate vmemmap address instead of phys_ram_base.
References
Configurations
Configuration 1 (hide)
|
History
26 Sep 2025, 19:10
Type | Values Removed | Values Added |
---|---|---|
CVSS |
v2 : v3 : |
v2 : unknown
v3 : 7.1 |
CWE | CWE-125 | |
CPE | cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc6:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:-:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc7:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc4:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc5:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:* |
|
References | () https://git.kernel.org/stable/c/92f08673d3f1893191323572f60e3c62f2e57c2f - Patch | |
References | () https://git.kernel.org/stable/c/a4a7ac3d266008018f05fae53060fcb331151a14 - Patch | |
References | () https://git.kernel.org/stable/c/d2bd51954ac8377c2f1eb1813e694788998add66 - Patch | |
References | () https://git.kernel.org/stable/c/f754f27e98f88428aaf6be6e00f5cbce97f62d4b - Patch | |
First Time |
Linux
Linux linux Kernel |
22 May 2025, 13:15
Type | Values Removed | Values Added |
---|---|---|
References |
|
|
Summary |
|
21 Jan 2025, 13:15
Type | Values Removed | Values Added |
---|---|---|
New CVE |
Information
Published : 2025-01-21 13:15
Updated : 2025-09-26 19:10
NVD link : CVE-2024-57945
Mitre link : CVE-2024-57945
CVE.ORG link : CVE-2024-57945
JSON object : View
Products Affected
linux
- linux_kernel
CWE
CWE-125
Out-of-bounds Read