CVE-2025-39688: nfsd: allow SC_STATUS_FREEABLE when searching via nfs4_lookup_stateid()

Published Apr 18, 2025
·
Updated

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

nfsd: allow SCSTATUSFREEABLE when searching via nfs4lookupstateid()

The pynfs DELEG8 test fails when run against nfsd. It acquires a delegation and then lets the lease time out. It then tries to use the deleg stateid and expects to see NFS4ERRDELEGREVOKED, but it gets bad NFS4ERRBADSTATEID instead.

When a delegation is revoked, it's initially marked with SCSTATUSREVOKED, or SCSTATUSADMINREVOKED and later, it's marked with the SCSTATUSFREEABLE flag, which denotes that it is waiting for s FREESTATEID call.

nfs4lookupstateid() accepts a statusmask that includes the status flags that a found stateid is allowed to have. Currently, that mask never includes SCSTATUSFREEABLE, which means that revoked delegations are (almost) never found.

Add SCSTATUSFREEABLE to the always-allowed status flags, and remove it from nfsd4delegreturn() since it's now always implied.

Affected Software

9 affected components
Linux Kernel
Linux Linux kernel>=6.11.6<6.12
Linux Linux kernel>=6.12.1<6.12.23
Linux Linux kernel>=6.13<6.13.11
Linux Linux kernel>=6.14<6.14.2
Linux Linux kernel=6.12
Linux Linux kernel=6.12-rc5
Linux Linux kernel=6.12-rc6
Linux Linux kernel=6.12-rc7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Update nfsd to allow SC_STATUS_FREEABLE when searching via nfs4_lookup_stateid() so that revoked delegations are correctly handled (the DELEG8 test expects NFS4ERR_DELEG_REVOKED instead of NFS4ERR_BAD_STATEID).

    nfsd (NFSv4) / nfs4_lookup_stateid() always-allowed status flags for statusmask = Add SC_STATUS_FREEABLE to the always-allowed status flags; previously SC_STATUS_FREEABLE was not included

Event History

Apr 18, 2025
CVE Published
via MITRE·07:01 AM
Data Sourced
via MITRE·07:01 AM
DescriptionSeverity
Data Sourced
via NVD·07:15 AM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2025-39688?

CVE-2025-39688 has been classified as a medium severity vulnerability due to its potential impact on NFS delegations in the Linux kernel.

2

How do I fix CVE-2025-39688?

To fix CVE-2025-39688, you should update to the latest version of the Linux kernel that includes the patch for this vulnerability.

3

What systems are affected by CVE-2025-39688?

CVE-2025-39688 affects systems running the Linux kernel with NFS server functionalities.

4

What does CVE-2025-39688 exploit?

CVE-2025-39688 exploits a flaw in the NFS server allowing SC_STATUS_FREEABLE during state ID lookup, which can impact delegation handling.

5

Is there a workaround for CVE-2025-39688?

The recommended workaround for CVE-2025-39688 is to disable NFS delegations until the kernel is updated.

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