LiveActive security incident?Get immediate response
CVE Record

CVE-2025-38084: mm/hugetlb: unshare page tables during VMA split, not before

In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb: unshare page tables during VMA split, not before Currently, __split_vma() triggers hugetlb page table unsharing through vm_ops->may_split(). This happens before the VMA lock and rmap locks are taken - which is too early, it allows racing VMA-locked page faults in our process and racing rmap walks from other processes to cause page tables to be shared again before we actually perform the split. Fix it by explicitly calling into the hugetlb unshare logic from __split_vma() in the same place where THP splitting also happens. At that point, both the VMA and the rmap(s) are write-locked. An annoying detail is that we can now call into the helper hugetlb_unshare_pmds() from two different locking contexts: 1. from hugetlb_split(), holding: - mmap lock (exclusively) - VMA lock - file rmap lock (exclusively) 2. hugetlb_unshare_all_pmds(), which I think is designed to be able to call us with only the mmap lock held (in shared mode), but currently only runs while holding mmap lock (exclusively) and VMA lock Backporting note: This commit fixes a racy protection that was introduced in commit b30c14cd6102 ("hugetlb: unshare some PMDs when splitting VMAs"); that commit claimed to fix an issue introduced in 5.13, but it should actually also go all the way back. [jannh@google.com: v2]

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A Linux kernel race condition can mishandle shared HugeTLB page tables while splitting a memory region. A local, low-privileged user may potentially compromise confidentiality, integrity, or availability. Exploitation requires local access and a specific memory-management path, so exposure depends on kernel status and workload behavior.

Executive priority

Prioritize remediation on shared, multi-user, and untrusted-workload Linux systems. Treat as a high-severity local privilege boundary risk, but do not characterize it as actively exploited based on the supplied evidence.

Technical view

HugeTLB page-table unsharing occurred before the VMA and reverse-mapping locks were acquired. Concurrent page faults or rmap walks could re-share tables before the VMA split completed. The referenced fix moves unsharing into the locked split phase, alongside transparent huge-page splitting.

Likely exposure

Potentially affected Linux systems should be assessed against their distribution's kernel advisory and backport history. Risk is greatest where untrusted local users or workloads can exercise HugeTLB-backed mappings. The supplied version data is insufficient to determine every distribution kernel's status reliably.

Exploitation context

The CVSS vector describes local, low-complexity exploitation requiring low privileges and no user interaction, with potentially high confidentiality, integrity, and availability impact. The bundle marks this CVE as absent from KEV and provides no evidence of active exploitation or a public exploit.

Researcher notes

Exact affected ranges are ambiguous in the supplied structured data. The backport note says the faulty protection was introduced by b30c14cd6102 and should be corrected further back than originally claimed. Validate branch-specific ancestry and distribution backports rather than relying only on displayed release numbers.

Mitigation direction

  • Install the vendor-supported kernel update containing the applicable upstream or stable fix.
  • Reboot into the updated kernel after installation.
  • If updates are unavailable, consult the Linux distribution's security guidance for supported mitigations.
  • Restrict untrusted local access and workloads until affected systems are remediated.

Validation and detection

  • Inventory running kernel versions on systems permitting local or tenant workloads.
  • Compare each kernel against its distribution's CVE-2025-38084 advisory and backport record.
  • Confirm the running kernel contains the applicable referenced fix commit.
  • Verify systems restarted into the corrected kernel rather than retaining the previous version.
  • Review HugeTLB usage to prioritize systems most likely to reach the vulnerable path.
Prepared
Confidence
high
Sources
12

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-2025-38084 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

1CVSS vectors
3Timeline events
1ADP providers
11Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H1.85.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2025-38084Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa, 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa, 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa, 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa, 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa, 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa, 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aaunaffected
LinuxLinux2.6.20, 0, 5.10.239, 5.15.186, 6.1.142, 6.6.95, 6.12.35, 6.15.4, 6.16affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.