In the Linux kernel, the following vulnerability has been resolved:
mm: page_ext: add count limit to page_ext_iter_next to prevent invalid PFN access
The page_ext iteration API does not validate if the PFN still belongs to a valid section while advancing the iterator. When dynamically adding memory in the hotplug path, it can lead to a NULL pointer dereference during page_ext_lookup at the boundary of the last valid section when iterator count equals __pgcount.
The for_each_page_ext() macro calls page_ext_iter_next() as its loop increment. for_each_page_ext() does a "__page_ext = page_ext_iter_next(&__iter)" at the end. This causes page_ext_iter_next() to increment iter->index past __pgcount and call page_ext_lookup(start_pfn + __pgcount). During memory hotplug (online), the PFN at start_pfn + __pgcount may belong to a section that has not yet been initialized, causing page_ext_lookup() to trigger a NULL pointer dereference.
[ 14.555124][ T846] Call trace: [ 14.555125][ T846] lookup_page_ext+0x6c/0x108 (P) [ 14.555127][ T846] page_ext_lookup+0x30/0x3c [ 14.555129][ T846] __reset_page_owner+0x11c/0x260 [ 14.571201][ T846] __free_pages_ok+0x5e8/0x8e0 [ 14.571204][ T846] __free_pages_core+0x78/0xf0 [ 14.571206][ T846] generic_online_page+0x14/0x24 [ 14.597782][ T846] online_pages+0x178/0x30c [ 14.597784][ T846] memory_block_change_state+0x284/0x32c [ 14.597787][ T846] memory_subsys_online+0x4c/0x64 [ 14.597789][ T846] device_online+0x88/0xb0 [ 14.597791][ T846] online_memory_block+0x30/0x40 [ 14.597793][ T846] walk_memory_blocks+0xac/0xe8 [ 14.597794][ T846] add_memory_resource+0x280/0x298 [ 14.656161][ T846] add_memory+0x60/0x98
Move the iteration boundary enforcement inside the iterator functions, so callers cannot inadvertently access beyond the requested range.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade perf6.18-debuginfoUpgrade kernel6.18-modules-extraUpgrade kernel6.18-debuginfo-common-aarch64Upgrade microvm-kernel6.18Upgrade kernel6.18-debuginfoUpgrade python3-perf6.18-debuginfoUpgrade perf6.18Upgrade kernel-livepatch-6.18.39-79.141Upgrade bpftool6.18-debuginfoUpgrade kernel6.18-toolsUpgrade python3-perf6.18Upgrade kernel6.18-tools-debuginfoUpgrade bpftool6.18Upgrade kernel6.18-develUpgrade kernel6.18-modules-extra-commonUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18Upgrade kernel6.18-headersUpgrade kernel6.18-tools-devel | Aug 18, 2026 | Jul 25, 2026 |
| Ubuntu | — | Upgrade linux-image-azure-7.0Upgrade linux-image-7.0.0-31-genericUpgrade linux-image-awsUpgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-oracleUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-oem-26.04Upgrade linux-image-raspi-7.0Upgrade linux-image-virtualUpgrade linux-image-oem-7.0Upgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-26.04bUpgrade linux-image-nvidia-64kUpgrade linux-image-realtime-64kUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-gke-64kUpgrade linux-image-oracle-64kUpgrade linux-image-oracle-7.0Upgrade linux-image-virtual-7.0Upgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-gcpUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-ibmUpgrade linux-image-nvidia-7.0Upgrade linux-image-generic-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-gcp-7.0Upgrade linux-image-7.0.0-1014-azureUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-aws-7.0Upgrade linux-image-gke-64k-7.0Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-realtimeUpgrade linux-image-raspiUpgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-aws-64k-7.0Upgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-ibm-7.0Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-nvidia-bosUpgrade linux-image-gkeUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-generic-64kUpgrade linux-image-oem-26.04aUpgrade linux-image-nvidiaUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-azure-lts-26.04Upgrade linux-image-aws-64kUpgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-azureUpgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-gke-7.0Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-generic-64k-7.0Upgrade linux-image-gcp-64kUpgrade linux-image-realtime-7.0Upgrade linux-image-7.0.0-1012-awsUpgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-genericUpgrade linux-image-7.0.0-1011-oracle-64k | Sep 14, 2026 | Sep 7, 2026 |
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