Skip to content
Fencer Vulns
high 7.8

CVE-2025-38084 json

mm/hugetlb: unshare page tables during VMA split, not before

published 2025-06-28 16 mo ago modified 2026-10-15 24 d ago also EUVD-2025-19449

cvss
7.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 11%
public exploits
0
none known

Summary

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]

Patch / fix

  • Linux Linux 5.10.239, 5.15.186, 6.1.142, 6.6.95, 6.12.35, 6.15.4, 6.16
  • linux Debian 12 6.1.147-1
  • linux Debian 14, Debian 13 6.12.35-1

debian advisories DEBIAN-CVE-2025-38084

  • linux Ubuntu 22.04 LTS 5.15.0-156.166
  • linux Ubuntu 24.04 LTS 6.8.0-100.100
  • linux-aws Ubuntu 22.04 LTS 5.15.0-1092.99
  • linux-aws Ubuntu 24.04 LTS 6.8.0-1046.49
  • linux-gcp Ubuntu 22.04 LTS 5.15.0-1092.101
  • linux-gcp Ubuntu 24.04 LTS 6.8.0-1047.50
  • linux-gke Ubuntu 22.04 LTS 5.15.0-1089.95
  • linux-gke Ubuntu 24.04 LTS 6.8.0-1043.48

ubuntu advisories UBUNTU-CVE-2025-38084

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel RHEL 9 5.14.0-570.35.1.el9_6
  • rv RHEL 9 5.14.0-570.35.1.el9_6
  • perf RHEL 9 5.14.0-570.35.1.el9_6
  • rtla RHEL 9 5.14.0-570.35.1.el9_6
  • libperf RHEL 9 5.14.0-570.35.1.el9_6
  • kernel-rt RHEL 9 5.14.0-570.35.1.el9_6
  • kernel-64k RHEL 9 5.14.0-570.35.1.el9_6
  • kernel-core RHEL 9 5.14.0-570.35.1.el9_6

red hat advisories RHSA-2025:13962RHSA-2025:13598

  • kernel-rt Linux Micro 6.2 6.12.0-160000.8.1
  • kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.8.1
  • kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.8.1
  • kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.8.1
  • kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.8.1.160000.2.5
  • kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.8.1
  • kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.8.1
  • kernel-kvmsmall SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.8.1

suse advisories SUSE-SU-2026:20012-1SUSE-SU-2026:20015-1SUSE-SU-2026:20021-1SUSE-SU-2026:20562-1SUSE-SU-2025:4320-1SUSE-SU-2025:4149-1

  • kernel-rt openSUSE Leap 16.0 6.12.0-160000.8.1
  • dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.8.1
  • kernel-64kb openSUSE Leap 16.0 6.12.0-160000.8.1
  • kernel-syms openSUSE Leap 16.0 6.12.0-160000.8.1
  • kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.8.1
  • kernel-source openSUSE Leap 16.0 6.12.0-160000.8.1
  • kernel-default openSUSE Leap 16.0 6.12.0-160000.8.1
  • kernel-kvmsmall openSUSE Leap 16.0 6.12.0-160000.8.1

opensuse advisories openSUSE-SU-2025:20172-1

  • kernel AlmaLinux 9 5.14.0-570.35.1.el9_6
  • rv AlmaLinux 9 5.14.0-570.35.1.el9_6
  • perf AlmaLinux 9 5.14.0-570.35.1.el9_6
  • rtla AlmaLinux 9 5.14.0-570.35.1.el9_6
  • libperf AlmaLinux 9 5.14.0-570.35.1.el9_6
  • kernel-rt AlmaLinux 9 5.14.0-570.35.1.el9_6
  • kernel-64k AlmaLinux 9 5.14.0-570.35.1.el9_6
  • kernel-core AlmaLinux 9 5.14.0-570.35.1.el9_6

almalinux advisories ALSA-2025:13962

  • kernel Rocky Linux 10 6.12.0-55.27.1.el10_0

rocky linux advisories RLSA-2025:13598

  • kernel Azure Linux 3.0 6.6.96.1-1

azure linux advisories AZL-64377

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2025-38084 updated cvss 7.1

kernel: mm/hugetlb: unshare page tables during VMA split, not before

  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more
    affected: no fix planned “Out of support scope”
  • Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more
    affected: no fix available “Fix deferred”
  • Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more
    affected: no fix planned “Will not fix”
  • Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-570.35.1.el9_6, perf 5.14.0-570.35.1.el9_6, rtla 5.14.0-570.35.1.el9_6, python3-perf 5.14.0-570.35.1.el9_6, kernel-devel-matched 5.14.0-570.35.1.el9_6, kernel-64k-devel-matched 5.14.0-570.35.1.el9_6, +7 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-55.27.1.el10_0, perf 6.12.0-55.27.1.el10_0, rtla 6.12.0-55.27.1.el10_0, python3-perf 6.12.0-55.27.1.el10_0, kernel-devel-matched 6.12.0-55.27.1.el10_0, kernel-64k-devel-matched 6.12.0-55.27.1.el10_0, +7 more
    fixed: vendor fix RHSA-2025:13598
  • Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-570.35.1.el9_6, kernel-64k 5.14.0-570.35.1.el9_6, kernel-core 5.14.0-570.35.1.el9_6, kernel-tools 5.14.0-570.35.1.el9_6, kernel-modules 5.14.0-570.35.1.el9_6, kernel-64k-core 5.14.0-570.35.1.el9_6, +27 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-55.27.1.el10_0, kernel-64k 6.12.0-55.27.1.el10_0, kernel-core 6.12.0-55.27.1.el10_0, kernel-tools 6.12.0-55.27.1.el10_0, kernel-modules 6.12.0-55.27.1.el10_0, kernel-64k-core 6.12.0-55.27.1.el10_0, +27 more
    fixed: vendor fix RHSA-2025:13598
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-s390x 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-x86_64 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-aarch64 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-ppc64le 5.14.0-570.35.1.el9_6
    fixed: vendor fix RHSA-2025:13962
show 6 more
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-55.27.1.el10_0, kernel-debuginfo-common-s390x 6.12.0-55.27.1.el10_0, kernel-debuginfo-common-x86_64 6.12.0-55.27.1.el10_0, kernel-debuginfo-common-aarch64 6.12.0-55.27.1.el10_0, kernel-debuginfo-common-ppc64le 6.12.0-55.27.1.el10_0
    fixed: vendor fix RHSA-2025:13598
  • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-570.35.1.el9_6, kernel-rt-64k 5.14.0-570.35.1.el9_6, kernel-rt-core 5.14.0-570.35.1.el9_6, kernel-rt-modules 5.14.0-570.35.1.el9_6, kernel-rt-64k-core 5.14.0-570.35.1.el9_6, kernel-rt-debug-core 5.14.0-570.35.1.el9_6, +14 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-55.27.1.el10_0, kernel-rt-64k 6.12.0-55.27.1.el10_0, kernel-rt-core 6.12.0-55.27.1.el10_0, kernel-rt-modules 6.12.0-55.27.1.el10_0, kernel-rt-64k-core 6.12.0-55.27.1.el10_0, kernel-rt-debug-core 6.12.0-55.27.1.el10_0, +14 more
    fixed: vendor fix RHSA-2025:13598
  • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-570.35.1.el9_6, kernel-rt-kvm 5.14.0-570.35.1.el9_6, kernel-rt-core 5.14.0-570.35.1.el9_6, kernel-rt-modules 5.14.0-570.35.1.el9_6, kernel-rt-debug-kvm 5.14.0-570.35.1.el9_6, kernel-rt-debug-core 5.14.0-570.35.1.el9_6, +6 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-55.27.1.el10_0, kernel-rt-kvm 6.12.0-55.27.1.el10_0, kernel-rt-core 6.12.0-55.27.1.el10_0, kernel-rt-modules 6.12.0-55.27.1.el10_0, kernel-rt-debug-kvm 6.12.0-55.27.1.el10_0, kernel-rt-debug-core 6.12.0-55.27.1.el10_0, +6 more
    fixed: vendor fix RHSA-2025:13598
  • Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

cisa ICSA-26-043-06 updated cvss 7.0

Siemens SINEC OS

  • Siemens RUGGEDCOM RST2428P (6GK6242-6PA00) < 3.3
    affected: fixed in V3.3 support.industry.siemens.com
  • Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family < 3.3
    affected: fixed in V3.3
  • Siemens SCALANCE XCH328 (6GK5328-4TS01-2EC2) < 3.3 Siemens SCALANCE XCM324 (6GK5324-8TS01-2AC2) < 3.3 Siemens SCALANCE XCM328 (6GK5328-4TS01-2AC2) < 3.3 Siemens SCALANCE XCM332 (6GK5332-0GA01-2AC2) < 3.3 Siemens SCALANCE XRH334 (24 V DC, 8xFO, CC) (6GK5334-2TS01-2ER3) < 3.3 Siemens SCALANCE XRM334 (2x230 V AC, 8xFO) (6GK5334-2TS01-4AR3) < 3.3
    +8 more products
    Siemens SCALANCE XRM334 (2x230 V AC, 12xFO) (6GK5334-3TS01-4AR3) < 3.3 Siemens SCALANCE XRM334 (2x230V AC, 2x10G, 24xSFP, 8xSFP+) (6GK5334-5TS01-4AR3) < 3.3 Siemens SCALANCE XRM334 (24 V DC, 8xFO) (6GK5334-2TS01-2AR3) < 3.3 Siemens SCALANCE XRM334 (24 V DC, 12xFO) (6GK5334-3TS01-2AR3) < 3.3 Siemens SCALANCE XRM334 (24V DC, 2x10G, 24xSFP, 8xSFP+) (6GK5334-5TS01-2AR3) < 3.3 Siemens SCALANCE XRM334 (230 V AC, 8xFO) (6GK5334-2TS01-3AR3) < 3.3 Siemens SCALANCE XRM334 (230 V AC, 12xFO) (6GK5334-3TS01-3AR3) < 3.3 Siemens SCALANCE XRM334 (230V AC, 2x10G, 24xSFP, 8xSFP+) (6GK5334-5TS01-3AR3) < 3.3
    affected: fixed in V3.3 support.industry.siemens.com

Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
24 d ago

Exploit prediction

0.21% chance of exploitation in the next 30 days, higher than 11% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD 3.1 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected products

  • Linux Linux

Classification

Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.