CVE-2026-64064
Received Received - Intake

Memory Corruption in Linux Kernel Netfs Subsystem

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

Publication date: 2026-07-19

Last updated on: 2026-07-19

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: netfs: Fix netfs_invalidate_folio() to clear dirty bit if all changes gone If a streaming write is made, this will leave the relevant modified folio in a not-uptodate, but dirty state with a netfs_folio struct hung off of folio->private indicating the dirty range. Subsequently truncating the file such that the dirty data in the folio is removed, but the first part of the folio theoretically remains will cause the netfs_folio struct to be discarded... but will leave the dirty flag set. If the folio is then read via mmap(), netfs_read_folio() will see that the page is dirty and jump to netfs_read_gaps() to fill in the missing bits. netfs_read_gaps(), however, expects there to be a netfs_folio struct present and can oops because truncate removed it. Fix this by calling folio_cancel_dirty() in netfs_invalidate_folio() in the event that all the dirty data in the folio is erased (as nfs does). Also add some tracepoints to log modifications to a dirty page. This can be reproduced with something like: dd if=/dev/zero of=/xfstest.test/foo bs=1M count=1 umount /xfstest.test mount /xfstest.test xfs_io -c "w 0xbbbf 0xf96c" \ -c "truncate 0xbbbf" \ -c "mmap -r 0xb000 0x11000" \ -c "mr 0xb000 0x11000" \ /xfstest.test/foo with fscaching disabled (otherwise streaming writes are suppressed) and a change to netfs_perform_write() to disallow streaming writes if the fd is open O_RDWR: if (//(file->f_mode & FMODE_READ) || <--- comment this out netfs_is_cache_enabled(ctx)) { It should be reproducible even without this change, but if prevents the above trivial xfs_io command from reproducing it. Note that the initial dd is important: the file must start out sufficiently large that the zero-point logic doesn't just clear the gaps because it knows there's nothing in the file to read yet. Unmounting and mounting is needed to clear the pagecache (there are other ways to do that that may also work). This was initially reproduced with the generic/522 xfstest on some patches that remove the FMODE_READ restriction.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-19
Last Modified
2026-07-19
Generated
2026-07-20
AI Q&A
2026-07-19
EPSS Evaluated
N/A
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 is a Linux kernel vulnerability where a file's dirty state is incorrectly left set after truncation. When a streaming write modifies a file and the file is later truncated, the dirty flag remains even though the modified data is removed. This can cause a kernel oops when reading the file via mmap because the system expects dirty data to still exist.

Detection Guidance

This vulnerability is specific to the Linux kernel and requires kernel-level detection. Monitor kernel logs for oops or crashes related to netfs operations. Check for filesystem corruption or unexpected behavior during file truncation and mmap operations. The provided reproduction steps involve creating a test file, truncating it, and using mmap to read it, which may trigger the issue.

Impact Analysis

This vulnerability can cause system crashes (kernel oops) when reading files via mmap after certain write and truncate operations. It may lead to data corruption or unexpected behavior in applications using memory-mapped files.

Compliance Impact

This vulnerability in the Linux kernel could potentially lead to data corruption or unauthorized access if exploited, which may impact compliance with data protection regulations like GDPR or HIPAA. However, the provided CVE details do not explicitly address compliance implications.

Mitigation Strategies

Apply the latest Linux kernel patches that include the fix for netfs_invalidate_folio(). Avoid using streaming writes on files that may be truncated. Disable fscaching if not required. Monitor kernel updates from your distribution vendor for the patched kernel version.

Chat Assistant

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

EPSS Chart