PT-2025-3670

CVE-2024-57945

·

Published

2025-01-08

·

Updated

2026-11-03

Description by

CVSS 3.1
8.1
High
MetricsAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions Linux kernel versions prior to 6.6.74
Description The issue is related to the calculation of the virtual address of vmemmap in the sparse vmemmap model. The virtual address 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, the kernel 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. This can lead to an out of bound issue. The fix introduces a new variable 'vmemmap start pfn' which is aligned with memory section size and uses it to calculate vmemmap address instead of phys ram base.
Recommendations To resolve the issue, update to Linux kernel version 6.6.74 or later. As a temporary workaround, consider restricting access to the vulnerable vmemmap module to minimize the risk of exploitation. Avoid using the phys ram base variable in calculations until the issue is resolved.
Exploitability
Exploit
Fix
Impacts
Vendors
Affected products
Related identifiers
ALT-PU-2025-12647
AZL-67845
DLA-4271-1
DSA-5925-1
ECHO-4B01-356A-0701
MGASA-2025-0030
MGASA-2025-0032
OESA-2025-1320
OESA-2025-1321
USN-7379-1
USN-7379-2
USN-7380-1
USN-7381-1
USN-7382-1
USN-7513-1
USN-7513-2
USN-7513-3
USN-7513-4
USN-7513-5
USN-7514-1
USN-7515-1
USN-7515-2
USN-7522-1
USN-7523-1
USN-7524-1
USN-8961-1
USN-8962-1
USN-8963-1
Found an issue in the description? Have something to add? Feel free to write us 👾