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.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linux | May 15, 2025 | Jan 21, 2025 |
| Ubuntu | — | Upgrade linux-image-kvmUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-awsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1028-oemUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-azure-nvidiaUpgrade linux-image-ibmUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-azure-fdeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-raspi-realtimeUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-6.8.0-1029-awsUpgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-6.8.0-60-genericUpgrade linux-image-oem-24.04aUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-gcpUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-6.8.0-1029-azureUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-generic-64kUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-nvidiaUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-oem-24.04Upgrade linux-image-6.11.0-21-genericUpgrade linux-image-realtimeUpgrade linux-image-nvidia-6.8Upgrade linux-image-azureUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-genericUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.11.0-1017-oemUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-nvidia-lowlatency-64k | Mar 28, 2025 | Jan 21, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 17, 2025 | Jan 21, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub