Live Active security incident? Get immediate response
CVE Record

CVE-2025-39883: mm/memory-failure: fix VM_BUG_ON_PAGE(PagePoisoned(page)) when unpoison memory

In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure: fix VM_BUG_ON_PAGE(PagePoisoned(page)) when unpoison memory When I did memory failure tests, below panic occurs: page dumped because: VM_BUG_ON_PAGE(PagePoisoned(page)) kernel BUG at include/linux/page-flags.h:616! Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 3 PID: 720 Comm: bash Not tainted 6.10.0-rc1-00195-g148743902568 #40 RIP: 0010:unpoison_memory+0x2f3/0x590 RSP: 0018:ffffa57fc8787d60 EFLAGS: 00000246 RAX: 0000000000000037 RBX: 0000000000000009 RCX: ffff9be25fcdc9c8 RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff9be25fcdc9c0 RBP: 0000000000300000 R08: ffffffffb4956f88 R09: 0000000000009ffb R10: 0000000000000284 R11: ffffffffb4926fa0 R12: ffffe6b00c000000 R13: ffff9bdb453dfd00 R14: 0000000000000000 R15: fffffffffffffffe FS: 00007f08f04e4740(0000) GS:ffff9be25fcc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000564787a30410 CR3: 000000010d4e2000 CR4: 00000000000006f0 Call Trace: <TASK> unpoison_memory+0x2f3/0x590 simple_attr_write_xsigned.constprop.0.isra.0+0xb3/0x110 debugfs_attr_write+0x42/0x60 full_proxy_write+0x5b/0x80 vfs_write+0xd5/0x540 ksys_write+0x64/0xe0 do_syscall_64+0xb9/0x1d0 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f08f0314887 RSP: 002b:00007ffece710078 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000009 RCX: 00007f08f0314887 RDX: 0000000000000009 RSI: 0000564787a30410 RDI: 0000000000000001 RBP: 0000564787a30410 R08: 000000000000fefe R09: 000000007fffffff R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000009 R13: 00007f08f041b780 R14: 00007f08f0417600 R15: 00007f08f0416a00 </TASK> Modules linked in: hwpoison_inject ---[ end trace 0000000000000000 ]--- RIP: 0010:unpoison_memory+0x2f3/0x590 RSP: 0018:ffffa57fc8787d60 EFLAGS: 00000246 RAX: 0000000000000037 RBX: 0000000000000009 RCX: ffff9be25fcdc9c8 RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff9be25fcdc9c0 RBP: 0000000000300000 R08: ffffffffb4956f88 R09: 0000000000009ffb R10: 0000000000000284 R11: ffffffffb4926fa0 R12: ffffe6b00c000000 R13: ffff9bdb453dfd00 R14: 0000000000000000 R15: fffffffffffffffe FS: 00007f08f04e4740(0000) GS:ffff9be25fcc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000564787a30410 CR3: 000000010d4e2000 CR4: 00000000000006f0 Kernel panic - not syncing: Fatal exception Kernel Offset: 0x31c00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) ---[ end Kernel panic - not syncing: Fatal exception ]--- The root cause is that unpoison_memory() tries to check the PG_HWPoison flags of an uninitialized page. So VM_BUG_ON_PAGE(PagePoisoned(page)) is triggered. This can be reproduced by below steps: 1.Offline memory block: echo offline > /sys/devices/system/memory/memory12/state 2.Get offlined memory pfn: page-types -b n -rlN 3.Write pfn to unpoison-pfn echo <pfn> > /sys/kernel/debug/hwpoison/unpoison-pfn This scenario can be identified by pfn_to_online_page() returning NULL. And ZONE_DEVICE pages are never expected, so we can simply fail if pfn_to_online_page() == NULL to fix the bug.

UnknownCVSS not scoredNot KEV-listed Updated
Glexia's Take moderate

Analyst readout for executives and security teams

Plain-English summary

CVE-2025-39883 is a Linux kernel reliability flaw that can trigger a kernel panic during memory-poison recovery testing. A panic can crash the host, causing availability impact. The public record does not show active exploitation or a CVSS score.

Executive priority

Treat as a normal-priority Linux kernel maintenance issue unless exposed on critical multi-user systems. Prioritize patching where untrusted local users, diagnostics tooling, or memory-failure testing could trigger host crashes.

Technical view

The bug is in mm/memory-failure unpoison_memory(). It can check PG_HWPoison on an uninitialized page when a PFN is not online, triggering VM_BUG_ON_PAGE(PagePoisoned(page)). The kernel fix fails the operation when pfn_to_online_page() returns NULL.

Likely exposure

Exposure appears limited to Linux systems with affected kernels where privileged users or test tooling can access hwpoison debugfs paths. The source describes reproduction using memory offlining and hwpoison injection, not remote access.

Exploitation context

No KEV listing is provided and the source bundle does not cite in-the-wild exploitation. The demonstrated impact is local kernel panic during a specific memory-failure test path using debugfs and hwpoison_inject.

Researcher notes

The source-provided fix is defensive handling for non-online PFNs in unpoison_memory(). Public evidence supports denial-of-service by kernel panic, not privilege escalation or remote exploitation. Affected-version details should be confirmed against upstream stable commits and distro backports.

Mitigation direction

  • Apply vendor or distribution kernel updates that include the referenced stable fixes.
  • For upstream kernels, verify whether fixed stable versions listed in the CVE record apply.
  • Restrict debugfs and hwpoison testing interfaces to trusted administrators only.
  • Check Debian LTS guidance if running affected Debian LTS kernels.

Validation and detection

  • Inventory running Linux kernel versions across servers and appliances.
  • Compare kernel versions against the CVE record and vendor advisories.
  • Verify the running kernel includes one of the referenced stable commits.
  • Review whether hwpoison_inject or related debugfs interfaces are enabled in production.
Prepared
Confidence
medium
Sources
11

Based on public source material and reviewed before publication.

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-39883 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 profile CVE 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.

0 CVSS vectors
3 Timeline events
2 ADP providers
10 Source links

SSVC decision data

CISA-ADP CISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reserved CVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE published CVE Program

    The CVE record was published.

  3. CVE updated CVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVE CVE Program Container
CISA-ADP CISA ADP Vulnrichment
other:ssvc
Affected products

Products and packages named in the record

Vendor Product Version / package Status
Linux Linux f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe, f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe, f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe, f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe, f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe, f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe, f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe, f1dd2cd13c4bbbc9a7c4617b3b034fa643de98fe unaffected
Linux Linux 4.13, 0, 5.4.300, 5.10.245, 5.15.194, 6.1.153, 6.6.107, 6.12.48, 6.16.8, 6.17 affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.