Vulnerability · Published Jan 21, 2025 · Assigned by Linux

CVE-2024-57945riscv: mm: Fix the out of bound issue of vmemmap address

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 12% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.2%top 88.4% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.140-1DSA-5925-1
Debian:12linux6.1.140-1DEBIAN-CVE-2024-57945
Debian:13linux6.12.10-1DEBIAN-CVE-2024-57945
Debian:14linux6.12.10-1DEBIAN-CVE-2024-57945
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux5.15.0-202.212USN-8961-1
Ubuntu:24.04:LTSlinux6.8.0-60.63UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-aws5.15.0-1119.126UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-aws5.15.0-1119.126USN-8961-1
Ubuntu:24.04:LTSlinux-aws6.8.0-1029.31UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1029.31~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure5.15.0-1125.134UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure5.15.0-1125.134USN-8961-1
Ubuntu:24.04:LTSlinux-azure6.8.0-1029.34UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-azure-6.116.11.0-1012.12~24.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1029.34~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1124.133USN-8962-1
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1124.133UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-azure-nvidia6.8.0-1016.17UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gcp5.15.0-1120.130UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gcp5.15.0-1120.130USN-8961-1
Ubuntu:24.04:LTSlinux-gcp6.8.0-1030.32UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-gcp-6.116.11.0-1011.11~24.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1030.32~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gke5.15.0-1115.121USN-8961-1
Ubuntu:22.04:LTSlinux-gke5.15.0-1115.121UBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-gke6.8.0-1025.29UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1102.110UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1102.110USN-8961-1
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1012.14UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-hwe-6.116.11.0-21.21~24.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-60.63~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-ibm5.15.0-1113.117USN-8961-1
Ubuntu:22.04:LTSlinux-ibm5.15.0-1113.117UBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-ibm6.8.0-1026.26UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1026.26~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1114.120UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1114.120USN-8961-1
Ubuntu:22.04:LTSlinux-kvm5.15.0-1111.116UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-kvm5.15.0-1111.116USN-8961-1
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-197.207UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-197.207USN-8961-1
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-60.63.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-60.63.1~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1114.115UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1114.115USN-8961-1
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1028.31UBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-nvidia-6.116.11.0-1007.7UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1028.31~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1028.31.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1070.72UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1070.72USN-8963-1
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1008.8UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1059.59USN-8963-1
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1059.59UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-oem-6.116.11.0-1017.17UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-oem-6.86.8.0-1028.28UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oracle5.15.0-1116.122UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oracle5.15.0-1116.122USN-8961-1
Ubuntu:24.04:LTSlinux-oracle6.8.0-1026.27UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1026.27~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-raspi6.8.0-1028.32UBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-riscv6.8.0-60.63.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-62.65~22.04.1UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2024-57945
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1017.18UBUNTU-CVE-2024-57945
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2024-57945

Affected products (as reported)

VendorProductVersions
Linux Linux 8af1c121b0102041809bc137ec600d1865eaeedd – before 04350304428063da6a55a8a4597d409dc69148b28310080799b40fd9f2a8b808c657269678c149af – before 92f08673d3f1893191323572f60e3c62f2e57c2fa278d5c60f21aa15d540abb2f2da6e6d795c3e6e – before a4a7ac3d266008018f05fae53060fcb331151a14a11dd49dcb9376776193e15641f84fcc1e5980c9 – before d2bd51954ac8377c2f1eb1813e694788998add66a11dd49dcb9376776193e15641f84fcc1e5980c9 – before f754f27e98f88428aaf6be6e00f5cbce97f62d4b5941a90c55d3bfba732b32208d58d997600b44ef2a1728c15ec4f45ed9248ae22f626541c179bfbe5.10.212 – before 5.10.258
Linux Linux 6.8

References