CVE-2026-90236: NFSD: Release the export reference when reaping open stateids

Published Sep 17, 2026
·
Updated

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

NFSD: Release the export reference when reaping open stateids

nfs4putstid() releases the svcexport tracked in nfs4stid.scexport, but freeolstateidreaplist() frees open and lock stateids by calling ->scfree() directly, bypassing that path. An open stateid takes an scexport reference in nfs4open() and a lock stateid takes its own in initlockstateid(); both reach freeolstateidreaplist() through their normal teardown, the open stateid via releaseopenstateid() and the lock stateid via nfsd4releaselockowner(), each through putolstateidlocked(). The reference is therefore never dropped, pinning the export and blocking unmount for the lifetime of the stateid.

Release scexport in freeolstateidreaplist() the way nfs4putstid() does. ->scfree() runs once per stateid, and a stateid reaches freeolstateidreaplist() or nfs4putstid() but never both, so the reference is dropped exactly once. Revoked stateids reach this path with scexport already cleared by dropstidexport(), so they are skipped rather than double-freed.

nfs4putstid() itself read scexport before acquiring cllock. dropstidexport() clears that field and releases the reference under cllock, so a concurrent revocation could drop the export in the window between the read and the final put, releasing the same reference twice. Read scexport while cllock is held so the two paths serialize and the reference is released exactly once.

Event History

Sep 17, 2026
CVE Published
via MITRE·04:07 PM
Data Sourced
via MITRE·04:07 PM
Description

Frequently Asked Questions

1

Which NFSD activity is affected?

The issue affects open and lock stateids that hold an export reference and are later freed through the reap-list teardown path. Open stateids reach that path through release_open_stateid(), while lock stateids reach it through nfsd4_release_lockowner().

2

What is the operational impact of the leaked reference?

The export remains pinned because its reference is not dropped during this teardown path. This can prevent the export from being unmounted for the lifetime of the affected stateid.

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