CVE-2026-64063: netfs: Fix streaming write being overwritten

Published Jul 19, 2026
·
Updated

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

netfs: Fix streaming write being overwritten

In order to avoid reading whilst writing, netfslib will allow "streaming writes" in which dirty data is stored directly into folios without reading them first. Such folios are marked dirty but may not be marked uptodate. If a folio is entirely written by a streaming write, uptodate will be set, otherwise it will have a netfsfolio struct attached to ->private recording the dirty region.

In the event that a partially written streaming write page is to be overwritten entirely by a single write(), netfsperformwrite() will try to copy over it, but doesn't discard the netfsfolio if it succeeds; further, it doesn't correctly handle a partial copy that overwrites some of the dirty data.

Fix this by the following:

(1) If the folio is successfully overwritten, free the netfsfolio struct before marking the page uptodate.

(2) If the copy to the folio partially fails, but short of the dirty data, just ignore the copy.

(3) If the copy partially fails and overwrites some of the dirty data, accept the copy, update the netfsfolio struct to record the new data. If the folio is now filled, free the netfsfolio and set uptodate, otherwise return a partial write.

Found with:

fsx -q -N 1000000 -p 10000 -o 128000 -l 600000 \ /xfstest.test/junk --replay-ops=junk.fsxops

using the following as junk.fsxops:

truncate 0x0 0 0x927c0 write 0x63fb8 0x53c8 0 copyrange 0xb704 0x19b9 0x24429 0x79380 write 0x2402b 0x144a2 0x90660 write 0x204d5 0x140a0 0x927c0 copyrange 0x1f72c 0x137d0 0x7a906 0x927c0 read 0x00000 0x20000 0x9157c read 0x20000 0x20000 0x9157c read 0x40000 0x20000 0x9157c read 0x60000 0x20000 0x9157c read 0x7e1a0 0xcfb9 0x9157c

on cifs with the default cache option.

It shows folio 0x24 misbehaving if the FMODEREAD check is commented out in netfsperformwrite():

if (//(file->fmode & FMODEREAD) || netfsiscacheenabled(ctx)) {

and no fscache. This was initially found with the generic/522 xfstest.

Affected Software

8 affected components
Linux Linux kernel
Linux Linux kernel>=6.12<6.12.92
Linux Linux kernel>=6.13<6.18.34
Linux Linux kernel>=6.19<7.0.11
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3
Linux Linux kernel=7.1-rc4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Update netfs streaming write handling so that when a partially written streaming write page overwrites some dirty data, netfs_perform_write() does not incorrectly ignore/handle the copy; accept the copy and update the netfs_folio struct to record the new data before marking the page uptodate. Also ensure that if the folio is entirely written by a streaming write, uptodate is set; if the folio is now filled, free the netfs_folio and set uptodate. Ensure the FMODE_READ check is present (do not comment it out).

    netfs streaming write overwritten handling = fixed
  2. Compensating control

    Reproduce/validate using the provided xfstest operation set (junk.fsxops) with the listed copy/write ranges and xfstest replay: /xfstest.test/junk --replay-ops=junk.fsxops, including cases where copy partially fails vs overwrites some dirty data, to confirm correct netfs_folio handling (no incorrect uptodate/dirty state).

Event History

Jul 19, 2026
CVE Published
via MITRE·03:39 PM
Data Sourced
via MITRE·03:39 PM
Description
Data Sourced
via NVD·04:17 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Who can exploit this issue?

The CVSS vector indicates that exploitation requires local access and low privileges. No user interaction is required.

2

What conditions are needed to trigger the flaw?

The issue involves netfs streaming writes to folios that were only partially written, followed by an overwrite through a single write(). A partial copy failure can also affect handling when it overwrites existing dirty data.

3

What is the potential impact?

The supplied CVSS score rates confidentiality, integrity, and availability impacts as high. The flaw specifically concerns incorrect handling of dirty streaming-write data and overwrite operations.

4

How can I determine whether a kernel includes the fix?

Check the source or vendor patch history for the listed stable commits: 20195925c768626dc901a4781a51e508702c88ad, ef9b521212e4863814ef7dfe19889abaf55ca840, or cdae00e8e215d95911d95f100599e187b6560de5. The provided data does not identify affected or fixed kernel version numbers.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203