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: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw originates from incorrect handling of the _PAGE_UNUSED bit in the s390 architecture’s page table entries. The bit is meant to indicate that a page can be discarded, yet KVM sets it on pages that are actually in use. Because the kernel clears the bit only in specific paths, other code paths left the bit set, causing pages that were still active to be treated as unused and evicted. This mismanagement of page state leads to corruption of the memory contents of the affected guest virtual machines, a classic example of resource state misuse (CWE‑911).

Affected Systems

All Linux kernel releases that support the s390 architecture and were built before the upstream commit that added the fix for the _PAGE_UNUSED bit handling are vulnerable. The issue is specifically relevant for hosts running KVM guest instances on s390, where the kernel interacts with guest page tables.

Risk and Exploitability

The CVSS score is 9.3, indicating a severe impact, while the EPSS score is below 1%, showing a low likelihood of exploitation at the moment. The vulnerability is not listed in CISA's KEV catalog, and no publicly known exploits are available. The likely attack vector requires local privileged or kernel‑level access on the affected host; reaching kernel execution allows an attacker to provoke guest memory corruption by manipulating page mappings that incorrectly carry the _PAGE_UNUSED bit. The risk remains high due to the potential for data loss within virtual machines, but exploitation probability is modest given the current lack of widespread exploits.

Generated by OpenCVE AI on August 22, 2026 at 07:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the fix for the _PAGE_UNUSED page‑table entry handling.
  • Apply the upstream patch that clears the _PAGE_UNUSED bit in set_pte() and gmap_helper_try_set_pte_unused() if a newer kernel cannot be deployed.
  • Reboot the host kernel or restart the KVM service to ensure the corrected memory‑management code is loaded.

Generated by OpenCVE AI on August 22, 2026 at 07:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 05:45:00 +0000

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

Thu, 20 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-911
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.3, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'}


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-17T05:43:53.927Z

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-17T06:19:08.060

Link: CVE-2026-72412

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72412 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T07:45:17Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count