In the Linux kernel, the following vulnerability has been resolved:
mm/hugetlb: fix hugetlb_pmd_shared()
Patch series "mm/hugetlb: fixes for PMD table sharing (incl. using
mmu_gather)", v3.
One functional fix, one performance regression fix, and two related
comment fixes.
I cleaned up my prototype I recently shared [1] for the performance fix,
deferring most of the cleanups I had in the prototype to a later point.
While doing that I identified the other things.
The goal of this patch set is to be backported to stable trees "fairly"
easily. At least patch #1 and #4.
Patch #1 fixes hugetlb_pmd_shared() not detecting any sharing
Patch #2 + #3 are simple comment fixes that patch #4 interacts with.
Patch #4 is a fix for the reported performance regression due to excessive
IPI broadcasts during fork()+exit().
The last patch is all about TLB flushes, IPIs and mmu_gather.
Read: complicated
There are plenty of cleanups in the future to be had + one reasonable
optimization on x86. But that's all out of scope for this series.
Runtime tested, with a focus on fixing the performance regression using
the original reproducer [2] on x86.
This patch (of 4):
We switched from (wrongly) using the page count to an independent shared
count. Now, shared page tables have a refcount of 1 (excluding
speculative references) and instead use ptdesc->pt_share_count to identify
sharing.
We didn't convert hugetlb_pmd_shared(), so right now, we would never
detect a shared PMD table as such, because sharing/unsharing no longer
touches the refcount of a PMD table.
Page migration, like mbind() or migrate_pages() would allow for migrating
folios mapped into such shared PMD tables, even though the folios are not
exclusive. In smaps we would account them as "private" although they are
"shared", and we would be wrongly setting the PM_MMAP_EXCLUSIVE in the
pagemap interface.
Fix it by properly using ptdesc_pmd_is_shared() in hugetlb_pmd_shared().
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue causes some huge-page shared mappings to be treated as private or exclusive. That can lead to incorrect memory accounting and unsafe migration decisions. The public record does not provide a CVSS score or confirmed exploitation, so business urgency depends on kernel exposure and huge-page usage.
Executive priority
Treat this as a kernel hygiene and exposure-management item, not an emergency based on current evidence. Prioritize patch validation on Linux systems with huge-page workloads, shared hosting, containers, or Siemens advisory relevance.
Technical view
hugetlb_pmd_shared() failed to detect shared PMD tables after sharing moved from page refcounts to ptdesc->pt_share_count. As a result, migration paths such as mbind() or migrate_pages(), smaps accounting, and pagemap PM_MMAP_EXCLUSIVE reporting could make incorrect exclusivity decisions.
Likely exposure
Exposure is limited to Linux kernel versions identified in the CVE record or covered by referenced stable commits and vendor advisories. Systems using hugetlb huge pages, shared PMD tables, memory migration, containers, or multi-tenant local workloads deserve closer review.
Exploitation context
The source bundle does not show CISA KEV listing, public exploitation, exploit code, or a remote attack path. The described behavior is local kernel memory-management correctness affecting shared huge-page mappings and related reporting or migration decisions.
Researcher notes
Key uncertainty is impact severity. The record describes incorrect shared-PMD detection with consequences for migration and memory accounting, but provides no CVSS, CWE, exploit status, or detailed attacker model. Avoid assuming privilege escalation without stronger evidence.
Mitigation direction
Map deployed Linux kernels to the CVE affected-version data.
Apply vendor kernel updates that include the referenced stable fixes.
Prioritize systems using hugetlb huge pages or memory migration features.
Review Siemens advisories if operating affected Siemens products.
If no vendor update exists, monitor official kernel and vendor guidance.
Validation and detection
Inventory kernel versions and vendor backport status across Linux assets.
Check whether hugetlb huge pages are enabled or operationally required.
Confirm fixed stable commits are present in deployed kernel packages.
Review smaps or pagemap-dependent tooling for possible trust assumptions.
Track vendor advisories for revised severity or mitigation guidance.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23100 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
1ADP providers
10Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Feb 4, 2026, 16:08 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.