CVE-2026-89706

nfsd: Reset write verifier when async COPY writeback fails

HIGH
7.5
CVSS Score
Published: September 11, 2026 at 07:46 PM UTC
Updated: October 19, 2026 at 09:18 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.5
Exploit prediction
EPSS 0.5%

Description

In the Linux kernel, the following vulnerability has been resolved: nfsd: Reset write verifier when async COPY writeback fails Async COPY captures nn->writeverf at request time and reports it to the client via CB_OFFLOAD after the worker kthread completes. When the post-copy vfs_fsync_range() or filemap_check_wb_err() in _nfsd_copy_file_range() reports an error, the worker correctly leaves NFSD4_COPY_F_COMMITTED clear so that CB_OFFLOAD encodes wr_stable_how as NFS_UNSTABLE, but the server's write verifier is not rotated. A client that receives NFS_UNSTABLE in CB_OFFLOAD follows up with COMMIT to make the copied data durable. With the verifier unchanged, COMMIT returns the same value the client just received via CB_OFFLOAD, and the client concludes the copy is durable -- silently dropping the data whose writeback in fact failed. This violates the UNSTABLE+COMMIT durability contract (RFC 7862 section 15.1, RFC 8881 section 18.32) and matches the bug just fixed in nfsd_vfs_write() and nfsd_commit(). Rotate nn->writeverf at the writeback-failure site. The async COPY worker has no svc_rqst, so commit_reset_write_verifier() is not available here; calling nfsd_reset_write_verifier() directly mirrors the trace-less reset already used by nfsd_file_check_write_error() for the same purpose. Filter out -EAGAIN and -ESTALE, matching commit_reset_write_verifier(), since neither indicates a durable-storage failure.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.10.2205.14817c6eb975798647c4bbbfc9eb288aa413ec7f65eac0b17a77fbd763d305a5eaa4fd1119e5a0fe0d
Vendor states this is fixed in 31d4d0a62ec4bafbcdbad142f11ab1f90794b1d0 (fixed)
Vendor states this is fixed in 591134e059e3456180244a826d6917cdc183140b (fixed)
Vendor states this is fixed in 6b13d26cc21b6320a3c61d5e4cee2ce9a589b181 (fixed)
Vendor states this is fixed in 8a08ffe73eb2aa6bc6f88763da7e2b55bab6493a (fixed)
Vendor states this is fixed in bf0cd31a9abcb728c17d79b4c2cc533612a8b6af (fixed)
Vendor states this is fixed in c6d2f6372c7e0f76b9c148ff7696aec64da0b5b7 (fixed)
Vendor states this is fixed in cc5f7cef0659a27c13dd33edd8e2f79257b095c6 (fixed)
Vendor states this is fixed in f5cb2276954cb80987a93ef9f9dfbfdbfc0f10b9 (fixed)
Vendor states this is fixed in 5.10.270 (unaffected)
Vendor states this is fixed in 5.14 (unaffected)
Vendor states this is fixed in 5.15.221 (unaffected)
Vendor states this is fixed in 6.1.188 (unaffected)
Vendor states this is fixed in 6.12.109 (unaffected)
Vendor states this is fixed in 6.18.50 (unaffected)
Vendor states this is fixed in 6.6.157 (unaffected)
Vendor states this is fixed in 7.2.4 (unaffected)
Vendor states this is fixed in 7.3 (unaffected)
Vendor states this is fixed in 7.3-rc1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.5HIGHLinux
Vector?

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card