CVE-2026-89704: nfsd: sample writeback error cursor before async COPY loop

Published Sep 11, 2026
·
Updated

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

nfsd: sample writeback error cursor before async COPY loop

nfsdcopyfilerange() samples dst->fwberr into "since" after the copy loop, then uses it to detect writeback errors via filemapcheckwberr() once vfsfsyncrange() returns. Because the nfsdfile cache reuses a single struct file across requests targeting the same inode, a concurrent COMMIT or stable WRITE on dst advances dst->fwberr to the current mapping->wberr via filecheckandadvancewberr() during its own vfsfsyncrange(). If that advancement lands between the writeback error appearing in mapping->wberr and the COPY worker sampling "since", the worker captures the already-advanced cursor, errseqcheck() sees cur == since and returns zero, and NFSD4COPYFCOMMITTED is set even though writeback failed. CBOFFLOAD then encodes wrstablehow = FILESYNC4, the client treats the copied data as durable, and the failure becomes silent data loss.

Sample since once at the start of the function. The cursor then reflects state in effect before this COPY issues any writes, and filemapcheckwberr() detects any error that occurs during the copy regardless of which thread first observes it. This matches the pattern used by nfsdvfswrite() and nfsd4clonefilerange().

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:46 PM
Data Sourced
via MITRE·07:46 PM
Description

Frequently Asked Questions

1

Which NFS workloads are exposed to the race?

The race requires an asynchronous NFSv4 COPY targeting a destination inode while another request targeting that same inode performs a COMMIT or stable WRITE. The shared nfsd file cache can cause those requests to use the same struct file and writeback-error cursor.

2

What is the operational impact if the race occurs?

A writeback failure from the COPY can be missed, causing the server to report the copy as committed. The client may treat the copied data as durable even though writeback failed, resulting in silent data loss.

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