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

userfaultfd: gate must_wait writability check on pte_present()

userfaultfd_must_wait() and userfaultfd_huge_must_wait() read the PTE
without taking the page table lock and then apply pte_write() /
huge_pte_write() to it. Those accessors decode bits from the present
encoding only; on a swap or migration entry they read the offset bits that
happen to share the same position and return an undefined result.

The intent of the check is "is this fault still WP-blocked?". A
non-marker swap entry means the page is in transit -- the userfault
context the original fault delivered against is no longer the same, and
the swap-in or migration completion path will re-deliver a fresh fault if
userspace still needs to handle it. Worst case under the current code the
garbage write bit says "wait", and the thread stays asleep until a
UFFDIO_WAKE that may never arrive.

Gate the writability check on pte_present() so the lockless re-check only
inspects present-PTE bits when the entry is actually present. The
non-present, non-marker case returns "don't wait" and lets the fault path
retry.
Published: 2026-07-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises in the Linux kernel's userfaultfd implementation, where the functions userfaultfd_must_wait() and userfaultfd_huge_must_wait() read page table entries without holding the page table lock and incorrectly interpret the write bit from a swap or migration entry. This misreading can cause the kernel to believe the fault is still write‑protected and put a thread to sleep indefinitely, leading to a denial‑of‑service condition by hanging userthreads. The weakness stems from using uninitialized or incorrectly decoded data to make scheduling decisions, which violates the expected synchronization and data integrity guarantees of the kernel.

Affected Systems

The issue affects any Linux system running versions of the kernel that contain the unpatched userfaultfd code. The known affected product is Linux:Linux with no specific version ranges provided in the CNA data, but the patch is available in recent stable kernel releases.

Risk and Exploitability

The vulnerability has a CVSS score of 5.5, indicating moderate severity, and an EPSS score of less than 1%, which shows a low probability of exploitation in the wild. It is not listed in CISA's KEV catalog. It is inferred that the attack vector is local: a user or application triggering a page fault in a process that uses userfaultfd could cause the thread to stall. The worst‑case scenario manifests as reduced system responsiveness or a stalled thread rather than data disclosure or privilege escalation.

Generated by OpenCVE AI on August 4, 2026 at 14:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply an updated Linux kernel that includes the fix for CVE-2026-64514.
  • Reboot after patching to ensure all processes use the new kernel image.
  • If immediate kernel upgrade is not possible, consider disabling the userfaultfd mechanism or restricting its use to trusted processes to reduce the potential for exploitation.

Generated by OpenCVE AI on August 4, 2026 at 14:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4717-1 linux security update
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Tue, 04 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-368

Mon, 03 Aug 2026 18:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Thu, 30 Jul 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Wed, 29 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Low


Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: userfaultfd: gate must_wait writability check on pte_present() userfaultfd_must_wait() and userfaultfd_huge_must_wait() read the PTE without taking the page table lock and then apply pte_write() / huge_pte_write() to it. Those accessors decode bits from the present encoding only; on a swap or migration entry they read the offset bits that happen to share the same position and return an undefined result. The intent of the check is "is this fault still WP-blocked?". A non-marker swap entry means the page is in transit -- the userfault context the original fault delivered against is no longer the same, and the swap-in or migration completion path will re-deliver a fresh fault if userspace still needs to handle it. Worst case under the current code the garbage write bit says "wait", and the thread stays asleep until a UFFDIO_WAKE that may never arrive. Gate the writability check on pte_present() so the lockless re-check only inspects present-PTE bits when the entry is actually present. The non-present, non-marker case returns "don't wait" and lets the fault path retry.
Title userfaultfd: gate must_wait writability check on pte_present()
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-07-25T08:52:05.878Z

Reserved: 2026-07-19T15:36:31.793Z

Link: CVE-2026-64514

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-07-25T10:17:37.633

Modified: 2026-07-25T10:17:37.633

Link: CVE-2026-64514

cve-icon Redhat

Severity : Low

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64514 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T14:15:10Z

Weaknesses
  • CWE-368

    Context Switching Race Condition