CVE-2025-39725 json
mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list
published last yr. modified 21d ago also EUVD-2025-33997
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 4%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list
In shrink_folio_list(), the hwpoisoned folio may be large folio, which can't be handled by unmap_poisoned_folio(). For THP, try_to_unmap_one() must be passed with TTU_SPLIT_HUGE_PMD to split huge PMD first and then retry. Without TTU_SPLIT_HUGE_PMD, we will trigger null-ptr deref of pvmw.pte. Even we passed TTU_SPLIT_HUGE_PMD, we will trigger a WARN_ON_ONCE due to the page isn't in swapcache.
Since UCE is rare in real world, and race with reclaimation is more rare, just skipping the hwpoisoned large folio is enough. memory_failure() will handle it if the UCE is triggered again.
This happens when memory reclaim for large folio races with memory_failure(), and will lead to kernel panic. The race is as follows:
cpu0 cpu1 shrink_folio_list memory_failure TestSetPageHWPoison unmap_poisoned_folio --> trigger BUG_ON due to unmap_poisoned_folio couldn't handle large folio
[tujinjiang@huawei.com: add comment to unmap_poisoned_folio()]
Patch / fix
- Linux Linux 6.12.41, 6.15, 6.15.9, 6.16
- linux Debian 13 6.12.41-1
- linux Debian 14 6.16.3-1
debian advisories DEBIAN-CVE-2025-39725
- linux-aws-6.14 Ubuntu 24.04 LTS 6.14.0-1017.17~24.04.1
- linux-gcp-6.14 Ubuntu 24.04 LTS 6.14.0-1020.21~24.04.1
- linux-oem-6.14 Ubuntu 24.04 LTS 6.14.0-1016.16
- linux-azure-6.14 Ubuntu 24.04 LTS 6.14.0-1017.17~24.04.1
- linux-riscv-6.14 Ubuntu 24.04 LTS 6.14.0-36.36.1~24.04.1
- linux-oracle-6.14 Ubuntu 24.04 LTS 6.14.0-1017.17~24.04.1
- linux-realtime-6.14 Ubuntu Pro Realtime 24.04 LTS 6.14.0-1016.16~24.04.1
ubuntu advisories UBUNTU-CVE-2025-39725
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
Is CVE-2025-39725 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor 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-39725 updated
kernel: mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list
-
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 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelnot 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
Exploit prediction
0.15% chance of exploitation in the next 30 days, higher than 4% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| 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-39725
- NVD CVE-2025-39725
Fencer Intel 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.