CVE-2026-89706

Source
https://cve.org/CVERecord?id=CVE-2026-89706
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89706.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-89706
Downstream
Related
Published
2026-09-11T19:46:22Z
Modified
2026-09-25T18:27:28Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
nfsd: Reset write verifier when async COPY writeback fails
Details

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.

Database specific
{
    "cna_assigner":  "Linux",
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89706.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
817c6eb975798647c4bbbfc9eb288aa413ec7f65
Fixed
cc5f7cef0659a27c13dd33edd8e2f79257b095c6
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
eac0b17a77fbd763d305a5eaa4fd1119e5a0fe0d
Fixed
c6d2f6372c7e0f76b9c148ff7696aec64da0b5b7
Fixed
8a08ffe73eb2aa6bc6f88763da7e2b55bab6493a
Fixed
6b13d26cc21b6320a3c61d5e4cee2ce9a589b181
Fixed
31d4d0a62ec4bafbcdbad142f11ab1f90794b1d0
Fixed
591134e059e3456180244a826d6917cdc183140b
Fixed
bf0cd31a9abcb728c17d79b4c2cc533612a8b6af
Fixed
f5cb2276954cb80987a93ef9f9dfbfdbfc0f10b9
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5.10.220
Fixed
5.10.270

Affected versions

v5.*
v5.10.220
v5.10.221
v5.10.222
v5.10.223
v5.10.224
v5.10.225
v5.10.226
v5.10.227
v5.10.228
v5.10.229
v5.10.230
v5.10.231
v5.10.232
v5.10.233
v5.10.234
v5.10.235
v5.10.236
v5.10.237
v5.10.238
v5.10.239
v5.10.240
v5.10.241
v5.10.242
v5.10.243
v5.10.244
v5.10.245
v5.10.246
v5.10.247
v5.10.248
v5.10.249
v5.10.250
v5.10.251
v5.10.252
v5.10.253
v5.10.254
v5.10.255
v5.10.256
v5.10.257
v5.10.258
v5.10.259
v5.10.260
v5.10.261
v5.10.262
v5.10.263
v5.10.264
v5.10.265
v5.10.266
v5.10.267
v5.10.268
v5.10.269

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89706.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
5.10.270
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.221
Type
ECOSYSTEM
Events
Introduced
5.14.0
Fixed
6.1.188
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.6.157
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.12.109
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.18.50
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
7.2.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89706.json"