LiveActive security incident?Get immediate response
CVE Record

CVE-2025-39725: mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list

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()]

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This Linux kernel flaw can crash a system when memory reclaim collides with handling of a hardware-poisoned large memory page. The source describes a rare race involving uncorrected memory errors, but the outcome is a kernel panic. Treat it as an availability risk for Linux systems running affected kernel versions.

Executive priority

Schedule normal-priority patching, with higher urgency for systems where unexpected reboot or panic would disrupt critical services. Current evidence points to a rare availability issue, not known active exploitation.

Technical view

shrink_folio_list() can mishandle hwpoisoned large folios. unmap_poisoned_folio() cannot handle large folios, and the THP path can hit null pointer dereference or WARN conditions. The resolved behavior skips hwpoisoned large folios and lets memory_failure() handle later UCE events.

Likely exposure

Exposure is limited to Linux kernels in the affected version set cited by the CVE data, including 6.15, 6.12.41, 6.15.9, and 6.16. Distribution backports may change practical exposure, so confirm against vendor kernel advisories and package changelogs.

Exploitation context

The provided sources do not show active exploitation, and KEV is false. Trigger conditions require a rare uncorrected memory error and a race with memory reclamation. The documented impact is local system instability or kernel panic, not remote code execution.

Researcher notes

Evidence is strongest for the kernel race and fix rationale, but incomplete for distro-specific affected ranges. Validate with upstream commits and downstream backports. Avoid overclaiming exploitability because the source describes rarity and no active exploitation signal is provided.

Mitigation direction

  • Update affected Linux kernels to vendor builds containing the referenced stable fixes.
  • Check distribution advisories before assuming upstream version numbers map directly to package exposure.
  • Prioritize systems where kernel panic creates high business impact.
  • Monitor vendor guidance for any additional mitigations or corrected affected-version mapping.

Validation and detection

  • Inventory Linux kernel versions across production and critical infrastructure.
  • Compare installed kernels with vendor advisories and the referenced upstream stable commits.
  • Review crash telemetry for kernel panic, hwpoison, memory_failure, vmscan, or THP-related messages.
  • Confirm updated systems are running the patched kernel after maintenance windows.
Prepared
Confidence
medium
Sources
5

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-39725 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
Unknown
CVSS
Not scored
Known Exploited
No
Published
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.

0CVSS vectors
3Timeline events
0ADP providers
4Source links

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.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux1c9798bf8145a92abf45aa9d38a6406d9eb8bdf0, 1b0449544c6482179ac84530b61fc192a6527bfd, 1b0449544c6482179ac84530b61fc192a6527bfd, 912e9f0300c3564b72a8808db406e313193a37ad, 6.12.26, 6.14.5unaffected
LinuxLinux6.15, 0, 6.12.41, 6.15.9, 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.