Skip to content
Fencer Vulns
medium 5.5

CVE-2025-39725 json

mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list

published 2025-09-05 14 mo ago modified 2026-10-19 20 d 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

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-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 kernel
    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

Exploit prediction

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

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
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.