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 kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18Upgrade kernel6.18-headersUpgrade kernel6.18-tools-develUpgrade bpftool6.18Upgrade kernel6.18-develUpgrade kernel6.18-modules-extra-commonUpgrade kernel-livepatch-6.18.39-79.141Upgrade python3-perf6.18Upgrade python3-perf6.18-debuginfoUpgrade kernel6.18-toolsUpgrade bpftool6.18-debuginfoUpgrade microvm-kernel6.18Upgrade perf6.18Upgrade kernel6.18-debuginfoUpgrade perf6.18-debuginfoUpgrade kernel6.18-modules-extraUpgrade kernel6.18-tools-debuginfoUpgrade kernel6.18-debuginfo-common-aarch64 | Aug 18, 2026 | Jul 25, 2026 |
| Ubuntu | — | Upgrade linux-image-gcpUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-virtual-7.0Upgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-ibmUpgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-nvidia-7.0Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-virtualUpgrade linux-image-raspi-7.0Upgrade linux-image-oem-7.0Upgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-nvidia-64kUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-oem-26.04bUpgrade linux-image-7.0.0-31-genericUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-generic-7.0Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-oem-26.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-awsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-gke-64kUpgrade linux-image-realtime-64kUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-realtime-7.0Upgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-generic-64k-7.0Upgrade linux-image-7.0.0-1012-awsUpgrade linux-image-nvidia-bosUpgrade linux-image-nvidiaUpgrade linux-image-oem-26.04aUpgrade linux-image-gkeUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-generic-64kUpgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-gcp-7.0Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-gcp-64kUpgrade linux-image-aws-7.0Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-ibm-7.0Upgrade linux-image-raspiUpgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-realtimeUpgrade linux-image-gke-64k-7.0Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-aws-64k-7.0Upgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-aws-64kUpgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-generic | 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