Description
In the Linux kernel, the following vulnerability has been resolved:
nfsd: reset write verifier on deferred writeback errors
nfsd_vfs_write() and nfsd_commit() both call filemap_check_wb_err() to detect deferred writeback errors, but neither rotates the server's write verifier (nn->writeverf) when this check fails. Every other durable-storage-failure path in these functions calls commit_reset_write_verifier() before returning an error.
The missing rotation means clients holding UNSTABLE write data under the current verifier will COMMIT, receive the unchanged verifier back, and conclude their data is durable — silently dropping data that failed writeback. This violates the UNSTABLE+COMMIT durability contract (RFC 1813 §3.3.7, RFC 8881 §18.32).
Add commit_reset_write_verifier() calls at both filemap_check_wb_err() error sites, matching the pattern used by adjacent error paths in the same functions. The helper already filters -EAGAIN and -ESTALE internally, so the calls are unconditionally safe.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= f14816f2f928c560d28ba344af689f56efcd6f55, < b8e5894e56cff70fa245628fe16f0ad6367f8090; >= 3145fe0ebb16e1715ad541a301bc6675c8375fcd, < bc2baca02ec56da7707a74ed5d340b0a1dff1841; >= 555dbf1a9aac6d3150c8b52fa35f768a692f4eeb, < 43b65d2997963e80e8d8d86520bcb1e0751227de; >= 555dbf1a9aac6d3150c8b52fa35f768a692f4eeb, < 666e837b247fcadf2d8d508b9b0e49d720393eb4; >= 555dbf1a9aac6d3150c8b52fa35f768a692f4eeb, < 1dd664b39774a9c89b72de8e59bf9ef4b3aaff2e; >= 555dbf1a9aac6d3150c8b52fa35f768a692f4eeb, < 4367afc119c51e17a616f6908772b7e2c2c4013f; >= 555dbf1a9aac6d3150c8b52fa35f768a692f4eeb, < b027cca33c97354149fcc0ddeede4525c41093cd; >= 555dbf1a9aac6d3150c8b52fa35f768a692f4eeb, < 2090b05803faab8a9fa62fbff871007862cac1b7; >= 5.10.124, < 5.10.261; >= 5.15.49, < 5.15.212 |
| Linux | Linux | 5.17 |
References
- https://git.kernel.org/stable/c/1dd664b39774a9c89b72de8e59bf9ef4b3aaff2ePatch
- https://git.kernel.org/stable/c/2090b05803faab8a9fa62fbff871007862cac1b7Patch
- https://git.kernel.org/stable/c/4367afc119c51e17a616f6908772b7e2c2c4013fPatch
- https://git.kernel.org/stable/c/43b65d2997963e80e8d8d86520bcb1e0751227dePatch
- https://git.kernel.org/stable/c/666e837b247fcadf2d8d508b9b0e49d720393eb4Patch
- https://git.kernel.org/stable/c/b027cca33c97354149fcc0ddeede4525c41093cdPatch
- https://git.kernel.org/stable/c/b8e5894e56cff70fa245628fe16f0ad6367f8090Patch
- https://git.kernel.org/stable/c/bc2baca02ec56da7707a74ed5d340b0a1dff1841Patch
Timeline
- Published
- Jul 19, 2026
- Last modified
- Nov 6, 2026
- NVD status
- Analyzed