CVE-2026-53342: ARM64 Linux Kernel Page-Table Hot-Removal Cleanup Bug
A memory management bug in the Linux kernel's ARM64 architecture causes page-table cleanup to be incomplete when memory is hot-removed from a running system. When the kernel allocates page tables, it sets internal metadata and reserves memory counters; however, when those tables are freed during hot-removal operations, the cleanup steps were skipped. On systems with debug features enabled, this creates corrupt memory state warnings and can leak memory allocated for page-table locks. The fix ensures the cleanup process mirrors the allocation process.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- —
- Affected products
- 8 configuration(s)
- Published / Modified
- 2026-07-01 / 2026-07-23
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: arm64: mm: call pagetable dtor when freeing hot-removed page tables Since 5e8eb9aeeda3 ("arm64: mm: always call PTE/PMD ctor in __create_pgd_mapping()") page-table allocation on ARM64 always calls pagetable_{pte,pmd,pud,p4d}_ctor(). This sets the page_type to PGTY_table, increments NR_PAGETABLE and possible allocates a PTL. However the matching pagetable_dtor() calls were never added. With DEBUG_VM enabled on kernel versions prior to v6.17 without 2dfcd1608f3a9 ("mm/page_alloc: let page freeing clear any set page type") this leads to the following warning when freeing these pages due to page->page_type sharing page->_mapcount: BUG: Bad page state in process ... pfn:284fbb page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x284fbb flags: 0x17fffc000000000(node=0|zone=2|lastcpupid=0x1ffff) page_type: f2(table) page dumped because: nonzero mapcount Call trace: bad_page+0x13c/0x160 __free_frozen_pages+0x6cc/0x860 ___free_pages+0xf4/0x180 free_pages+0x54/0x80 free_hotplug_page_range.part.0+0x58/0x90 free_empty_tables+0x438/0x500 __remove_pgd_mapping.constprop.0+0x60/0xa8 arch_remove_memory+0x48/0x80 try_remove_memory+0x158/0x1d8 offline_and_remove_memory+0x138/0x180 It can also lead to leaking the ptl allocation if ALLOC_SPLIT_PTLOCKS is defined and incorrect NR_PAGETABLE stats. Fix this by calling pagetable_dtor() in free_hotplug_pgtable_page() prior to freeing the page to undo the effects of calling pagetable_*_ctor().
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53342 addresses a resource-cleanup bug in ARM64 memory management introduced by commit 5e8eb9aeeda3, which added mandatory pagetable constructor calls (pagetable_{pte,pmd,pud,p4d}_ctor()) during page-directory mapping creation. These constructors increment NR_PAGETABLE counters, set page_type to PGTY_table, and conditionally allocate spinlocks (PTL) when ALLOC_SPLIT_PTLOCKS is defined. The corresponding pagetable_dtor() calls were never added to the hot-removal path (free_hotplug_pgtable_page()), causing: (1) page_type mismatches detected by DEBUG_VM, triggering bad_page() warnings due to page_type and _mapcount sharing the same memory union; (2) NR_PAGETABLE counter leaks; and (3) potential PTL allocation leaks. The fix calls pagetable_dtor() before freeing pages in the hot-removal path to restore symmetry. Kernels prior to v6.17 without commit 2dfcd1608f3a9 are particularly affected, though the underlying asymmetry exists across all versions with the original constructor change.
Business impact
This vulnerability primarily affects hyperscallers and data-center operators performing live memory management on ARM64 systems. Hot-removal of memory is essential for workload consolidation, maintenance windows, and cloud infrastructure optimization. In production environments running debug kernels (common in regulated or high-reliability deployments), the bug manifests as system warnings that can trigger panic handlers or monitoring alerts, causing unplanned downtime. Memory and lock leaks accumulate over repeated hot-removal cycles, degrading system stability. While not remotely exploitable, the impact is operationally significant for organizations relying on ARM64-based servers (Graviton, ThunderX, Ampere, etc.) for cloud or edge workloads.
Affected systems
The vulnerability affects the Linux kernel on ARM64 architecture systems. It is most visible on kernel versions prior to v6.17 with DEBUG_VM enabled and without commit 2dfcd1608f3a9. However, the underlying resource-cleanup asymmetry exists in all kernel versions that include commit 5e8eb9aeeda3. Affected deployments include: ARM64-based cloud instances (AWS Graviton, Azure Ampere), on-premises ARM64 servers, and edge/IoT systems performing dynamic memory management. The bug requires the ability to trigger hot-memory-removal operations, typically available only to privileged system administrators or hypervisor processes.
Exploitability
This is not exploitable for privilege escalation, information disclosure, or code execution. Exploitation requires local privilege access to trigger memory hot-removal (a privileged operation), and the resulting behavior is either benign page warnings or resource leaks—not arbitrary system compromise. The vulnerability is a reliability and correctness issue rather than a security boundary violation. Attackers cannot leverage this remotely or to elevate privileges; impact is confined to system availability and accounting accuracy.
Remediation
Apply a kernel update that includes the pagetable_dtor() call in the hot-removal path. Verify the fix is present by confirming that free_hotplug_pgtable_page() explicitly calls pagetable_dtor() before page release. For interim mitigation on affected production systems: (1) disable DEBUG_VM in kernel builds if not operationally required; (2) minimize frequent memory hot-removal cycles if possible; (3) monitor for bad_page warnings in kernel logs and correlate with memory hot-removal events. Long-term, apply vendor-provided kernel security updates targeting ARM64 memory management. Verify patch application against the upstream Linux kernel commit that resolves this issue.
Patch guidance
Locate and apply upstream Linux kernel fixes that add pagetable_dtor() to the hot-memory-removal code path. Patch candidates include backports of commit 2dfcd1608f3a9 (mm/page_alloc: let page freeing clear any set page type) and any ARM64-specific memory-management fixes dated after July 2026. Verify with your Linux distribution (Red Hat, Ubuntu, Debian, etc.) for availability of backported patches to stable or LTS kernel branches. Test patches in a non-production ARM64 environment performing repeated memory hot-removal operations to confirm no page warnings are emitted and NR_PAGETABLE counters remain stable.
Detection guidance
Search kernel logs for 'BUG: Bad page state' messages appearing in association with memory hot-removal commands (echo offline > /sys/devices/system/memory/memoryX/state or equivalent). Monitor NR_PAGETABLE counter in /proc/meminfo before and after hot-removal cycles—persistent increases indicate leaked pagetable entries. On systems with kernel tracing enabled, correlate ftrace output from the arch_remove_memory() and free_hotplug_pgtable_page() functions with page-corruption warnings. Enable CONFIG_DEBUG_VM_PGTABLE if available to trigger detection of page-table state anomalies during boot and hot-remove operations.
Why prioritize this
Although rated MEDIUM severity (CVSS 5.5), prioritization should reflect operational context: for hyperscalers and cloud providers performing routine memory optimization, this is HIGH priority due to potential impacts on service availability and the frequency of hot-removal operations. For traditional enterprise or single-instance deployments without active hot-memory management, priority is MEDIUM-LOW. The lack of security-boundary impact and remote-exploitation vector places this below critical zero-day concerns, but the reliability implications and hidden resource leaks warrant prompt remediation during the next planned kernel update cycle.
Risk score, explained
CVSS 3.1 score of 5.5 (MEDIUM) reflects: Attack Vector Local (AV:L)—requires privileged memory-management access; Attack Complexity Low (AC:L)—hot-removal is straightforward once privileged; Privileges Required (PR:L)—admin/system access mandatory; User Interaction None (UI:N)—no user action needed; Scope Unchanged (S:U)—only the local system affected. Impact: Confidentiality None (C:N), Integrity None (I:N), Availability High (A:H)—system stability, memory accounting, and log clarity are degraded. The score does not capture the operational severity for infrastructure teams; organizations depending on ARM64 hot-memory management should weight this higher in their patch-prioritization models.
Frequently asked questions
Does this vulnerability allow remote code execution or privilege escalation?
No. The vulnerability is a local resource-cleanup bug requiring privileged memory-management access. It does not enable code execution, privilege escalation, or information disclosure. Impact is limited to system reliability, memory accounting, and kernel log warnings.
Which ARM64 systems and cloud providers are affected?
The vulnerability affects any ARM64-based Linux system with kernel versions containing the original pagetable constructor change (commit 5e8eb9aeeda3). This includes AWS Graviton instances, Azure Ampere A-series VMs, on-premises ARM64 servers, and Kubernetes clusters running on ARM64 nodes. The bug only manifests when memory hot-removal operations are performed.
What should I do if I see 'BUG: Bad page state' warnings in my logs?
First, correlate the timestamps with memory hot-removal events (check systemd logs or cloud-provider automation records). If the warnings align, apply the kernel patch addressing pagetable_dtor() cleanup. If hot-removal is not used in your environment, the warnings may indicate a different issue. Contact your kernel or cloud-provider support for guidance.
Is a kernel rebuild required to patch this, or is a kernel update sufficient?
A kernel update from your distribution (Red Hat, Canonical, Debian, etc.) should provide patched binaries without requiring a rebuild. If using a custom-built kernel, apply the upstream fix and rebuild. Verify the patch is included by checking the kernel changelog or by examining the source for the pagetable_dtor() call in free_hotplug_pgtable_page().
This analysis is based on publicly available vulnerability data as of the publication date. CVSS scores and vendor advisories are provided for reference; verify against official Linux kernel security announcements and your distribution's security advisories. The vulnerability requires local privileged access and does not represent an immediate remote-exploitation risk. Organizations should assess their specific ARM64 deployment patterns and hot-memory-removal usage before determining patch urgency. This report does not constitute formal security advice; consult your security team and vendor guidance for your environment. Source: NVD (public-domain), retrieved 2026-08-10. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2025-36372MEDIUMIBM Db2 Information Disclosure in Monitoring Tables
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer
- CVE-2026-10912MEDIUMChrome Extension Same-Origin Policy Bypass (CVSS 6.5)