CVE-2026-23100
Incorrect Shared PMD Table Handling in Linux Kernel hugetlb Causes Memory Accounting Errors
Publication date: 2026-02-04
Last updated on: 2026-04-18
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.13 |
| linux | linux_kernel | 6.13 |
| linux | linux_kernel | 6.13 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | From 5.10.239 (inc) to 5.11 (exc) |
| linux | linux_kernel | From 5.15.186 (inc) to 5.16 (exc) |
| linux | linux_kernel | From 6.1.142 (inc) to 6.2 (exc) |
| linux | linux_kernel | From 6.12.9 (inc) to 6.12.74 (exc) |
| linux | linux_kernel | From 6.13.1 (inc) to 6.18.8 (exc) |
| linux | linux_kernel | From 6.6.72 (inc) to 6.6.127 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is in the Linux kernel's memory management subsystem, specifically related to huge page tables (hugetlb). The issue was that the function hugetlb_pmd_shared() did not correctly detect when page middle directory (PMD) tables were shared. This happened because the code was using the page count as a reference count, which became inaccurate after changes that introduced an independent shared count (ptdesc->pt_share_count). As a result, shared PMD tables were never recognized as shared.
This flaw allowed operations like page migration (e.g., mbind() or migrate_pages()) to migrate memory pages that were mapped into these shared PMD tables, even though those pages were not exclusively owned. Additionally, memory accounting tools (like smaps) would incorrectly mark these pages as private instead of shared, and the PM_MMAP_EXCLUSIVE flag was wrongly set in the pagemap interface.
The vulnerability was fixed by updating hugetlb_pmd_shared() to properly use the new shared count mechanism (ptdesc_pmd_is_shared()) to detect shared PMD tables correctly.
How can this vulnerability impact me? :
This vulnerability can impact system stability and memory management correctness. Because shared huge page tables were not properly detected, memory pages could be migrated incorrectly, potentially leading to inconsistent memory states or performance regressions.
Memory accounting tools might report inaccurate information about memory usage, which could affect monitoring, debugging, or resource management decisions.
While the description does not explicitly mention security exploits such as privilege escalation or data leakage, incorrect handling of shared memory mappings could theoretically lead to unexpected behavior in applications relying on huge pages.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
I don't know
What immediate steps should I take to mitigate this vulnerability?
I don't know