From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-72212][IMPORTANT] mm/memory_hotplug: fix incorrect altmap passing in error path Date: Sun, 16 Aug 2026 00:36:45 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-72212 X-AL-KERNEL-Priority: IMPORTANT X-AL-KERNEL-Severity: IMPORTANT X-AL-KERNEL-Base-Severity: IMPORTANT X-AL-KERNEL-KPANIC: YES X-AL-KERNEL-ActionableScore: 7 X-AL-KERNEL-ActionableScore-Lower: 4 X-AL-KERNEL-Commit: 3833e6abdbbfb59ec8203a84a84206cb7ffb41ac List-Id: CVE: CVE-2026-72212 Priority: IMPORTANT AL-KERNEL base severity: IMPORTANT KPANIC flag: YES Patch: mm/memory_hotplug: fix incorrect altmap passing in error path Commit: 3833e6abdbbfb59ec8203a84a84206cb7ffb41ac Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3833e6abdbbfb59ec8203a84a84206cb7ffb41ac Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-72212 Analysis date: Sun, 16 Aug 2026 00:36:45 -0400 ActionableScore: 7 ActionableScore lower bound: 4 Actionable bucket: Strong Important candidate / Actionable Moderate at minimum Manual review required: YES Summary: An incorrect altmap argument in the memory hotplug error path can free vmemmap pages into the normal buddy allocator and later remove their physical mapping, creating allocator ownership corruption that can cause machine checks, kernel crash, or broader memory corruption. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-72212 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-72212 The original announcement does not normally provide a security severity estimate, CVSS assessment, or enough information to determine whether the reported kernel bug represents a practically relevant security issue. This report was generated by AL-KERNEL, an AI-assisted Linux kernel vulnerability analysis system developed by Alexander Larkin. It combines an autonomous classifier with LLM-assisted technical analysis and a separate ActionableScore mechanism. The purpose of this report is to prioritize Linux kernel CVEs before manual review, identify cases that require prompt investigation, and support automatic closure of issues that are unlikely to have meaningful security impact. Published priority for this report: IMPORTANT Manual review required: YES A detailed explanation of the methodology and priority rules is included at the end of this message. ====================================================================== AL-KERNEL CLASSIFICATION RESULT ====================================================================== CVE-2026-72212 IMPORTANT CHECK WITH IMPACT FROM ORIG NN MODERATE Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H';CWE-763;*CWE-664;CWE-119;Other CVSS 'AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H';BEST CVSS score: '7';DESCR 'An incorrect altmap argument in the memory_hotplug error path can cause vmemmap pages allocated from an altmap to be freed into the normal buddy allocator. If create_memory_block_devices fails after arch_add_memory succeeds with memmap_on_memory enabled, arch_remove_memory is called with NULL instead of params.altmap. This can inject pages that are not owned by the normal allocator into the buddy allocator and the physical linear mapping for that memory is then removed. Later allocation and use of those pages can lead to machine checks, kernel crash, or memory corruption. For the CVSS the PR:L is used in the paranoid vector because a reduced capability admin service or delegated memory management component may be able to trigger memory hotplug paths without full host control. The issue is not network reachable. Impact is at least local denial of service and in worst case may allow confidentiality or integrity impact due to allocator level memory corruption.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Strong Important candidate / Actionable Moderate at minimum (with actual score 6) YES READ DANGER ERRORPATH UAF HARDWARE KPANIC MEMORY KPANIC INCREASED_TO_HIGH_BASED_ON_ACTIONABLESCOREHIGHEREQTHAN6 YES NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=7 ActionableScoreLower=4 ## 1. ActionableScore * Conservative score: 4 * Paranoid score: 7 * Final recommended bucket: **Strong Important candidate / Actionable Moderate at minimum**:: ## 2. Signal breakdown Conservative signals: * Generic memory corruption: +2. The commit explicitly describes unowned vmemmap pages being freed into the normal buddy allocator, followed by removal of the physical linear mapping. * Real lifetime or ownership corruption: +1. Pages allocated from altmap are released through the wrong allocator path. * Reliable kernel crash / strong DoS: +1. The commit mentions machine checks and memory corruption when those pages are later allocated and used. * Privileged kernel/device-management memory corruption path: +1. This is in memory hotplug and altmap handling, a highly trusted memory-management path. * Availability impact realistic: +1. Buddy allocator poisoning can create system-wide instability beyond a local warning. * Requires admin/root/CAP_* in typical deployments: -2. Reliable triggering normally requires memory hotplug control or equivalent privileged system management. Conservative total: 4. Paranoid additional signals: * Weak LPE concern: +1. Allocator-level corruption may theoretically become more than DoS, but no controlled overwrite or reclaim primitive is demonstrated. * Confidentiality impact plausible: +1. If invalid pages enter the allocator and are later reused, broader memory corruption can theoretically expose data. * Integrity impact plausible: +1. Wrong allocator ownership can corrupt kernel-managed memory state. Paranoid total: 7. ## 3. Reachability analysis The bug is local and not network reachable. In typical deployments, memory hotplug and memmap_on_memory paths require privileged control, such as host root or a system management component. Namespaces do not normally make this reachable by an unprivileged container user. A paranoid interpretation is justified if a reduced-privilege service, virtualization management layer, or delegated memory-management component can trigger memory hotplug operations without full host-root equivalence. The trigger also requires the specific error path where arch_add_memory succeeds and create_memory_block_devices fails. Call-site confidence: high, because the changed call directly passes the wrong altmap argument to arch_remove_memory in the visible error path. ## 4. Severity interpretation This is not an ordinary Moderate cleanup. The realistic impact is likely privileged local DoS through machine check or kernel memory corruption after allocator poisoning. The theoretical worst case is higher because putting unowned pages into the buddy allocator is a concrete memory-management corruption primitive, even though the patch does not demonstrate attacker-controlled overwrite, reclaim, or a reliable privilege-escalation chain. Therefore it should be treated as at least Actionable Moderate and as a Strong Important candidate for manual review. ## 5. One-sentence report phrase An incorrect altmap argument in the memory hotplug error path can free vmemmap pages into the normal buddy allocator and later remove their physical mapping, creating allocator ownership corruption that can cause machine checks, kernel crash, or broader memory corruption. ## 6. Manual review recommendation MANUAL CHECK REQUIRED. This involves explicit allocator-level memory corruption in core mm hotplug code. Even though typical triggering is privileged and configuration-dependent, the corruption primitive is strong enough that it should not be auto-closed. ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: mm/memory_hotplug: fix incorrect altmap passing in error path Commit: 3833e6abdbbfb59ec8203a84a84206cb7ffb41ac Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3833e6abdbbfb59ec8203a84a84206cb7ffb41ac Commit description: In create_altmaps_and_memory_blocks(), when arch_add_memory() succeeds with memmap_on_memory enabled, the vmemmap pages are allocated from params.altmap. If create_memory_block_devices() subsequently fails, the error path calls arch_remove_memory() with a NULL altmap instead of params.altmap. This is a bug that could lead to memory corruption. Since altmap is NULL, vmemmap_free() falls back to freeing the vmemmap pages into the system buddy allocator via free_pages() instead of the altmap. arch_remove_memory() then immediately destroys the physical linear mapping for this memory. This injects unowned pages into the buddy allocator, causing machine checks or memory corruption if the system later attempts to allocate and use those freed pages. Fix this by passing params.altmap to arch_remove_memory() in the error path. Link: https://lore.kernel.org/20260428081855.1249045-3-songmuchun@bytedance.com Fixes: 6b8f079 ("mm/memory_hotplug: split memmap_on_memory requests across memblocks") Signed-off-by: Muchun Song Acked-by: David Hildenbrand (Arm) Acked-by: Liam R. Howlett Reviewed-by: Georgi Djakov Cc: "Aneesh Kumar K.V" Cc: Joao Martins Cc: Lorenzo Stoakes Cc: Madhavan Srinivasan Cc: Michael Ellerman Cc: Michal Hocko Cc: Mike Rapoport (Microsoft) Cc: Nicholas Piggin Cc: Oscar Salvador Cc: Suren Baghdasaryan Cc: Vlastimil Babka Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman Changed files: mm/memory_hotplug.c Diff excerpt: Not included in this email. See the upstream URL for the full patch. Full patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3833e6abdbbfb59ec8203a84a84206cb7ffb41ac ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-72212 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-72212 The original CVE announcement normally does not include a security-level estimate. In particular, it may not contain a CVSS assessment, an impact level, or enough information to determine whether the reported bug is a practically relevant security issue. One purpose of this parallel CVE list is to provide that missing technical and prioritization information. The original goal of the AL-KERNEL project was to prioritize Linux kernel CVE analysis automatically before manual review. The system can also help identify non-security issues that may be suitable for automatic closure. This report was generated by AL-KERNEL, an AI-assisted Linux kernel vulnerability analysis system developed by Alexander Larkin. The first analysis stage combines an autonomous classifier with additional LLM-based analysis. The autonomous classifier runs locally on a CPU and is based on a backpropagation neural network. Together, these mechanisms produce a technical vulnerability description, identify likely weakness types, estimate CVSS severity, and provide input for ActionableScore. Two CVSS estimates are retained because incomplete kernel vulnerability information often permits more than one defensible interpretation: Conservative CVSS vector: AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H The Best / paranoid CVSS vector: AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H The Best / paranoid CVSS score: 7 The conservative vector represents a lower-impact interpretation. The Best/paranoid vector intentionally represents a plausible upper-bound interpretation and should not automatically be treated as demonstrated real-world impact. CVSS may also need to be adjusted for a particular Linux deployment, because actual reachability, privileges, enabled kernel configuration, hardware, namespaces, exposed device nodes, and other environmental conditions can differ significantly between systems. A separate ActionableScore mechanism evaluates practical remediation urgency. Its analysis may include reachability, attack prerequisites, subsystem exposure, memory-corruption characteristics, denial-of-service reliability, and possible confidentiality, integrity, or privilege-escalation impact. Conservative ActionableScore: 4 Paranoid ActionableScore: 7 The final base severity is taken directly from the second tab-separated field of the AL-KERNEL classification result. ActionableScore does not replace or independently override that final AL-KERNEL decision, and if ActionableScore adjusted impact level of ALKERNEL, then you would see self-readable flags above like INCREASED_TO_HIGH_BASED_ON_ACTIONABLESCOREHIGHEREQTHAN7. For an AL-KERNEL result of MODERATE, this report uses the following additional presentation split: ActionableScore below 5 -> MODERATE REGULAR ActionableScore 5 or more -> MODERATE 7.0 The distinction between MODERATE REGULAR and MODERATE 7.0 makes it possible to identify Moderate issues that should receive manual analysis and fixes before lower-priority MODERATE REGULAR issues. In many cases, MODERATE REGULAR fixes may wait for a later rebase or routine update. There is one override in which MODERATE REGULAR becomes MODERATE 7.0 even when the ActionableScore is below 5. When the AL-KERNEL result contains the KPANIC flag, a MODERATE result is always presented as MODERATE 7.0. The KPANIC flag selected with few regexps without usage of AI at all, so it helps to detect cases when Kernel Crash happens and similar (to filter False-Negative results from the LLM usage). KPANIC indicates that a reliable kernel crash, kernel panic, or similarly serious kernel availability impact was identified by the classification workflow. AL-KERNEL base severity for this report: IMPORTANT KPANIC detected for this report: YES Published priority for this report (same as in Subject): IMPORTANT These results are intended to support engineering triage. They are machine-generated estimates, and cases marked for manual review should be validated by a human security engineer before final disposition. For more info read docs linked from here: https://kernelcve.org/ (and you can submit you own patch there to generate such a report for non-existant CVE-id yet). Note that in many cases this AI tool selects higher severity, than real is (means you can expect Importants instead of Moderate 7.0 or Moderates 7.0 instead of regular Moderates). If you see such cases, please use reply email interface to add additional manual analyses info to this particular CVE. And please, please, let me know when you see Lows instead of Importants or Important instead of Low (because particular for such cases I need to tune this AI tool to make it better for this one and next similar). My contact email for such notifications is alexanjelausa@gmail.com (and both send reply to CVE record itself too and see "reply" button below for howto reply).