Description
In the Linux kernel, the following vulnerability has been resolved:

s390/mm: Fix handling of _PAGE_UNUSED pte bit

The _PAGE_UNUSED softbit should not really be lying around. Its sole
purpose is to signal to try_to_unmap_one() and try_to_migrate_one()
that the page can be discarded instead of being moved / swapped.

KVM has no way to know why a page is being unmapped, so it sets the bit
on userspace ptes corresponding to unused guest pages every time they
get unmapped. KVM has no reasonable way to clear the bit once the page
is in use again.

While set_ptes() checks and clears the bit, other paths that set new
ptes did not. This led to used pages being thrown out as if they were
unused, causing guest corruption.

Fix the issue by clearing the _PAGE_UNUSED bit for present ptes in
set_pte(), i.e. whenever a present pte is getting set. The check in
set_ptes() is then redundant and can be removed.

Also fix gmap_helper_try_set_pte_unused() to only set the bit if the
pte is present; the _PAGE_UNUSED bit is only defined for present ptes
and thus should not be set for non-present ptes.
Published: 2026-08-15
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, a bug in the handling of the _PAGE_UNUSED page‑table entry (pte) bit caused pages that were actually in use to be mistakenly marked as unused. When these pages were subsequently unmapped, they were evicted and discarded as if they were spare, leading to corruption of data inside virtual machines. This flaw involves incorrect state management of memory mapping in the kernel and can result in loss of guest data integrity. The vulnerability is a classic example of improper handling of resource state, which is captured by CWE‑727 and CWE‑908.

Affected Systems

The defect affects all Linux kernel builds that employ the s390 architecture, from earlier releases up to the current stable kernel in which the patch is applied. No specific sub‑versions are listed, so any s390‑based host running the kernel before the upstream commit is considered vulnerable. The issue surfaced in the virtualization layer, notably KVM, impacting guests that rely on the kernel to manage memory pages.

Risk and Exploitability

The CVSS score and EPSS data are not available, and the vulnerability is not listed in CISA’s KEV catalog, indicating that no widespread exploits are currently known. However, the flaw requires local privileged access to the affected host – either through user escalation or exploits that gain kernel code execution. Once reached, an attacker can trigger guest memory corruption, potentially leading to application crashes or, in extreme cases, further compromise of the guest process space. Due to the lack of publicly known exploits, organizations should still treat this as a noticeable risk, especially for systems running s390 architectures or KVM guests.

Generated by OpenCVE AI on August 15, 2026 at 11:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to the latest stable release that includes the fix for the _PAGE_UNUSED pte bit issue.
  • Apply the upstream patch directly from the repository if a newer kernel cannot be deployed, ensuring the code changes in set_pte() and gmap_helper_try_set_pte_unused() are present.
  • Restart all KVM hosts after the kernel upgrade or patch application to load the corrected memory mapping logic.
  • Verify that running guests no longer experience memory corruption by monitoring logs for abnormal VM shutdowns or data integrity failures.

Generated by OpenCVE AI on August 15, 2026 at 11:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 15 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-727
CWE-908

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: s390/mm: Fix handling of _PAGE_UNUSED pte bit The _PAGE_UNUSED softbit should not really be lying around. Its sole purpose is to signal to try_to_unmap_one() and try_to_migrate_one() that the page can be discarded instead of being moved / swapped. KVM has no way to know why a page is being unmapped, so it sets the bit on userspace ptes corresponding to unused guest pages every time they get unmapped. KVM has no reasonable way to clear the bit once the page is in use again. While set_ptes() checks and clears the bit, other paths that set new ptes did not. This led to used pages being thrown out as if they were unused, causing guest corruption. Fix the issue by clearing the _PAGE_UNUSED bit for present ptes in set_pte(), i.e. whenever a present pte is getting set. The check in set_ptes() is then redundant and can be removed. Also fix gmap_helper_try_set_pte_unused() to only set the bit if the pte is present; the _PAGE_UNUSED bit is only defined for present ptes and thus should not be set for non-present ptes.
Title s390/mm: Fix handling of _PAGE_UNUSED pte bit
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-15T05:56:34.165Z

Reserved: 2026-08-09T03:40:39.926Z

Link: CVE-2026-72412

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:14.817

Modified: 2026-08-15T06:22:14.817

Link: CVE-2026-72412

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-15T11:15:03Z

Weaknesses