CVE-2025-21939 json
drm/xe/hmm: Don't dereference struct page pointers without notifier lock
published 2025-04-01 19 mo ago modified 2026-10-15 24 d ago also EUVD-2025-9382
- 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 12%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/xe/hmm: Don't dereference struct page pointers without notifier lock
The pnfs that we obtain from hmm_range_fault() point to pages that we don't have a reference on, and the guarantee that they are still in the cpu page-tables is that the notifier lock must be held and the notifier seqno is still valid.
So while building the sg table and marking the pages accesses / dirty we need to hold this lock with a validated seqno.
However, the lock is reclaim tainted which makes sg_alloc_table_from_pages_segment() unusable, since it internally allocates memory.
Instead build the sg-table manually. For the non-iommu case this might lead to fewer coalesces, but if that's a problem it can be fixed up later in the resource cursor code. For the iommu case, the whole sg-table may still be coalesced to a single contigous device va region.
This avoids marking pages that we don't own dirty and accessed, and it also avoid dereferencing struct pages that we don't own.
v2: - Use assert to check whether hmm pfns are valid (Matthew Auld) - Take into account that large pages may cross range boundaries (Matthew Auld)
v3: - Don't unnecessarily check for a non-freed sg-table. (Matthew Auld) - Add a missing up_read() in an error path. (Matthew Auld)
(cherry picked from commit ea3e66d280ce2576664a862693d1da8fd324c317)
Patch / fix
- Linux Linux 6.12.19, 6.13.7, 6.14
- linux Debian 14, Debian 13 6.12.19-1
debian advisories DEBIAN-CVE-2025-21939
- linux-gcp-6.11 Ubuntu 24.04 LTS 6.11.0-1016.16~24.04.1
- linux-hwe-6.11 Ubuntu 24.04 LTS 6.11.0-28.28~24.04.1
- linux-oem-6.11 Ubuntu 24.04 LTS 6.11.0-1024.24
- linux-azure-6.11 Ubuntu 24.04 LTS 6.11.0-1018.18~24.04.1
- linux-nvidia-6.11 Ubuntu 24.04 LTS 6.11.0-1012.12
- linux-lowlatency-hwe-6.11 Ubuntu 24.04 LTS 6.11.0-1015.16~24.04.2
ubuntu advisories UBUNTU-CVE-2025-21939
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-rt Real Time Module 15 SP7 6.4.0-150700.7.8.1
- kernel-syms-rt Real Time Module 15 SP7 6.4.0-150700.7.8.1
- kernel-source-rt Real Time Module 15 SP7 6.4.0-150700.7.8.1
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.6.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.6.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.6.1
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.6.1
- kernel-zfcpdump SLE Module for Basesystem 15 SP7 6.4.0-150700.53.6.1
suse advisories SUSE-SU-2025:02333-1SUSE-SU-2025:02307-1SUSE-SU-2025:02254-1
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-21939 updated cvss 6.1
kernel: drm/xe/hmm: Don't dereference struct page pointers without notifier lock
-
Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 morenot 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 SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 24 d ago
Exploit prediction
0.22% chance of exploitation in the next 30 days, higher than 12% 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
- Weakness
-
- CWE-476 NULL Pointer Dereference
- Technology feeds
References
Sources
- CVE List CVE-2025-21939
- NVD CVE-2025-21939
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.