CVE-2026-80893
Received Received - Intake

Memory Corruption in Linux Kernel HugeTLB

Vulnerability report for CVE-2026-80893, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-04

Last updated on: 2026-09-04

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb: fix swap entry corruption when clearing uffd-wp at fork() copy_hugetlb_page_range() clears the uffd-wp bit of migration and hwpoison entries with huge_pte_clear_uffd_wp(), which operates on the present-PTE bit position. Swap entries keep the uffd-wp state elsewhere -- the migration branch reads and sets it with pte_swp_uffd_wp() and pte_swp_mkuffd_wp() -- and the present-PTE position falls into the swap payload. On x86-64 it lands in the inverted swap offset, where a naturally-aligned hugetlb PFN always has the affected bit set, so the clear advances the encoded PFN by two pages. No userfaultfd needs to be involved: the clear is guarded only by the child VMA not being uffd-wp registered, so a plain fork() with an in-flight hugetlb migration entry (or a poisoned hugetlb page) corrupts the entry copied into the child. Instrumenting the clear and forking after MADV_HWPOISON on a 2MB anon hugetlb page shows: offset before=120e00 offset after =120e02 The fallout is mostly latent: rmap walks match migration entries by folio range and remove_migration_pte() rebuilds the PTE from the folio, so a within-folio PFN skew heals once migration completes. But any path that re-encodes the corrupted offset -- e.g. hugetlb_change_protection() rewriting a writable migration entry via make_readable_migration_entry(swp_offset(entry)) -- propagates it. Migration entries legitimately carry uffd-wp, so clear it with pte_swp_clear_uffd_wp(), matching copy_nonpresent_pte() and move_huge_pte(). A hwpoison entry, on the other hand, never carries the uffd-wp bit: it is installed fresh by make_hwpoison_entry() (try_to_unmap_one() does not preserve uffd-wp on the hwpoison path) and hugetlb_change_protection() leaves hwpoison entries untouched. There was nothing to clear there, only the corruption, so drop the clear entirely.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-04
Last Modified
2026-09-04
Generated
2026-09-05
AI Q&A
2026-09-04
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux_kernel linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves swap entry corruption when clearing uffd-wp (userfaultfd write-protection) during a fork operation. The issue occurs in the copy_hugetlb_page_range function, which incorrectly clears the uffd-wp bit for migration and hwpoison entries. This corruption affects the encoded PFN (Page Frame Number) in swap entries, leading to potential system instability or data corruption.

Detection Guidance

This vulnerability is specific to the Linux kernel's memory management subsystem and requires kernel-level instrumentation to detect. There are no standard network or system commands to directly detect this issue. Detection would involve monitoring for corrupted hugetlb migration or hwpoison entries during fork operations, which typically requires custom kernel tracing or debugging tools like ftrace, perf, or custom kernel modules.

Impact Analysis

The vulnerability can cause latent fallout such as corrupted swap entries that may propagate through kernel operations like hugetlb_change_protection. While some effects may heal automatically, others could lead to system crashes, data corruption, or unexpected behavior in applications using hugetlb pages or memory management operations.

Compliance Impact

This vulnerability does not directly impact compliance with GDPR, HIPAA, or similar standards as it is a low-level kernel memory management issue affecting hugetlb swap entries. No evidence suggests it exposes or leaks sensitive data, which is typically the primary concern for these regulations.

Mitigation Strategies

Apply the official Linux kernel patch that resolves this issue. Update your kernel to a version that includes the fix for mm/hugetlb swap entry corruption when clearing uffd-wp at fork(). Monitor kernel mailing lists or your distribution's security advisories for the patched kernel release.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-80893. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart