CVE-2026-72043
Received Received - Intake

Dirty Page Tracking Flaw in Linux Kernel LoongArch

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

Publication date: 2026-08-15

Last updated on: 2026-08-17

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: LoongArch: Fix missing dirty page tracking in {pte,pmd}_wrprotect() When hardware page table walker (PTW) is enabled on LoongArch, the CPU may set _PAGE_DIRTY directly in the page table entry during a write TLB miss, without going through the software TLB store handler. The software TLB store handler (tlbex.S:254) sets both _PAGE_DIRTY and_PAGE_MODIFIED together: ori t0, t0, (_PAGE_VALID | _PAGE_DIRTY | _PAGE_MODIFIED) Since hardware PTW only sets _PAGE_DIRTY, the software-only bit, i.e. _PAGE_MODIFIED is left unchanged. This creates a window where a PTE has _PAGE_DIRTY set (hardware knows the page is dirty) but _PAGE_MODIFIED clear (software is unaware). When fork()/clone() triggers copy-on-write, __copy_present_ptes() calls pte_wrprotect(), which unconditionally clears both the _PAGE_WRITE and _PAGE_DIRTY bits: pte_val(pte) &= ~(_PAGE_WRITE | _PAGE_DIRTY); Since _PAGE_MODIFIED was never set, the dirtiness information is lost completely. Subsequently, when memory pressure triggers page reclaim, page_mkclean() / try_to_unmap() sees the page as clean (i.e. pte_dirty() returns false) and the page may be freed without writeback, causing data corruption. Fix this by propagating the _PAGE_DIRTY bit to the _PAGE_MODIFIED bit in both pte_wrprotect() and pmd_wrprotect() before clearing writeable bits: if (pte_val(pte) & _PAGE_DIRTY) pte_val(pte) |= _PAGE_MODIFIED; The pmd_wrprotect() fix handles the CONFIG_TRANSPARENT_HUGEPAGE case, where pmd entries need the same treatment. This ensures the software dirty tracking bit (checked by pte_dirty() and pmd_dirty(), which read both the _PAGE_DIRTY and _PAGE_MODIFIED bits) is preserved across fork COW write-protection. The issue was found by the LTP madvise09 test case, which exercises page reclaim after "madvise(MADV_FREE), write and fork" operation sequence on private anonymous mappings.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-15
Last Modified
2026-08-17
Generated
2026-09-04
AI Q&A
2026-08-15
EPSS Evaluated
2026-09-03
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux 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 affects the Linux kernel on LoongArch systems with hardware page table walker enabled. It causes dirty page tracking to fail because the CPU sets the dirty bit directly without updating the software tracking bit. When write protection occurs during fork operations, the dirty state is lost, leading to potential data corruption during page reclaim.

Detection Guidance

This vulnerability is specific to the Linux kernel on LoongArch architecture with hardware page table walker enabled. Detection requires checking kernel logs for related errors or running kernel-specific tests like the LTP madvise09 test case mentioned in the CVE description.

Impact Analysis

If exploited, this could cause data corruption when memory is reclaimed. Applications may lose unsaved data as the kernel incorrectly treats dirty pages as clean. This could lead to crashes, file system corruption, or silent data loss in affected systems.

Compliance Impact

This vulnerability primarily affects data integrity in the Linux kernel's memory management, which could lead to data corruption during page reclamation. While it does not directly impact compliance with standards like GDPR or HIPAA, data corruption risks could result in unauthorized data exposure or loss, potentially violating integrity and confidentiality requirements under these regulations.

Mitigation Strategies

Apply the kernel patch that fixes the missing dirty page tracking in pte_wrprotect() and pmd_wrprotect(). Update to a patched version of the Linux kernel where this issue is resolved.

Chat Assistant

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

EPSS Chart