CVE-2026-89713: NFSD: check truncate permission under inode lock

Published Sep 11, 2026
·
Updated

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

NFSD: check truncate permission under inode lock

nfsdsetattr() checks whether a size update needs NFSDMAYTRUNC before it takes inodelock(). The comparison uses the file size sampled by that unlocked read, but the actual ATTRSIZE update is applied later under inodelock() by notifychange().

This leaves a TOCTOU window for append-only files. If a client sends a SETATTR that does not shrink the file at the time of the unlocked sample, a concurrent append can extend the file before nfsdsetattr() takes inodelock(). notifychange() then applies a real truncation without the NFSDMAYTRUNC check that rejects ISAPPEND(inode). The VFS truncate syscall paths perform their own append-only checks before calling notifychange(), so NFSD must make this decision against the locked size it is about to change.

Split the write-count acquisition from the truncation permission check. Keep getwriteaccess() before the locked setattr work, then recheck whether the requested size is below isizeread(inode) after inodelock() has been acquired and before notifychange(ATTRSIZE). This also avoids the plain unlocked inode->isize load.

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 systems and files are exposed to this issue?

Systems running the Linux kernel NFSD server are exposed when they serve append-only files. The affected path is an NFS client SETATTR request that changes file size.

2

What does an attacker or client need to trigger the flaw?

The client must issue a size update that is not a shrink when NFSD first reads the file size. A concurrent append must then extend the file before NFSD acquires the inode lock and applies the requested size.

3

What is the security impact of the race?

The race can cause NFSD to apply a real truncation to an append-only file without performing the NFSD_MAY_TRUNC permission check that would reject truncation of such files.

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