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-realtime-hwe-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-oracle-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1029-awsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-oem-22.04bUpgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-awsUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-kvmUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-nvidia-64kUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-24.04bUpgrade linux-image-ibmUpgrade linux-image-virtualUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-gcpUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-60-genericUpgrade linux-image-oem-22.04aUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-genericUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1029-azureUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-gkeopUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-gkeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-realtimeUpgrade linux-image-oem-22.04Upgrade linux-image-6.11.0-1011-awsUpgrade linux-image-azureUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-nvidia-6.8Upgrade linux-image-oracleUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1017-oem | 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