CVE-2026-64302: x86/mm: Fix freeing of PMD-sized vmemmap pages

Published Jul 25, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

x86/mm: Fix freeing of PMD-sized vmemmap pages

Commit bf9e4e30f353 ("x86/mm: use pagetablefree()"), switched from freeing non-boot page tables through freepages() to pagetablefree().

However, the function is also called to free vmemmap pages.

Given that vmemmap pages are not page tables, already the pageptdesc(page) is wrong. But worse, pagetablefree() calls:

freepages(page, compoundorder(page));

Since vmemmap pages are not compound pages (see vmemmapallocblock()) -- except for HVO, which doesn't apply here -- only first page of a PMD-sized vmemmap page is freed, leaking the other ones.

Fix it by properly decoupling pagetable and vmemmap freeing. freepagetable() no longer has to mess with SECTIONINFO, as only the vmemmap is marked like that in registerpagebootmemmemmap().

The indentation in removepmdtable() is messed up. Fix that while touching it.

Bootmem info handling will soon be fixed up. For now, handle it similar to freepagetable(), just avoiding the ifdef.

[ dhansen: changelog munging. More imperative voice ]

Affected Software

3 affected components
Linux Linux kernel
Linux Linux kernel>=6.18.7<6.18.39
Linux Linux kernel>=6.19<7.1.4

Event History

Jul 25, 2026
CVE Published
via MITRE·08:49 AM
Data Sourced
via MITRE·08:49 AM
Description
Data Sourced
via NVD·10:17 AM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What conditions are required for this issue to have an effect?

The affected code path must free PMD-sized vmemmap pages. The problem arises because those pages are passed to pagetable_free() even though they are not page tables or compound pages.

2

What is the practical impact of the bug?

When a PMD-sized vmemmap page is freed, only its first page may be released. The remaining pages are leaked, causing an availability impact through kernel memory leakage.

3

Is a fix available?

Yes. A patch is available through the listed stable Linux kernel commits, which decouple page-table freeing from vmemmap-page freeing.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203