CVE-2025-39688

Source
https://cve.org/CVERecord?id=CVE-2025-39688
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-39688.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-39688
Downstream
BELL (1)
CLSA (2)
DEBIAN (1)
MINI (1)
UBUNTU (1)
Published
2025-04-18T07:01:35Z
Modified
2026-10-28T02:30:56Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
nfsd: allow SC_STATUS_FREEABLE when searching via nfs4_lookup_stateid()
Details

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

nfsd: allow SC_STATUS_FREEABLE when searching via nfs4_lookup_stateid()

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 NFS4ERR_DELEG_REVOKED, but it gets bad NFS4ERR_BAD_STATEID instead.

When a delegation is revoked, it's initially marked with SC_STATUS_REVOKED, or SC_STATUS_ADMIN_REVOKED and later, it's marked with the SC_STATUS_FREEABLE flag, which denotes that it is waiting for s FREE_STATEID call.

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

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

Database specific
{
    "cna_assigner":  "Linux",
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/39xxx/CVE-2025-39688.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
8dd91e8d31febf4d9cca3ae1bb4771d33ae7ee5a
Fixed
52e209203c35a4fbff8af23cd3613efe5df40102
Fixed
dc6f3295905d7185e71091870119a8c11c3808cc
Fixed
5bcb44e650bc4ec7eac23df90c5e011a77fa2beb
Fixed
d1bc15b147d35b4cb7ca99a9a7d79d41ca342c13
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
6.11.6
Fixed
6.12
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
967faa26f313a62e7bebc55d5b8122eaee43b929

Affected versions

v6.*
v6.11.10
v6.11.11
v6.11.6
v6.11.7
v6.11.8
v6.11.9

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.12.0
Fixed
6.12.23
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.13.11
Type
ECOSYSTEM
Events
Introduced
6.14.0
Fixed
6.14.2

Database specific

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