CVE-2025-39688
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
nfsd: allow SC_STATUS_FREEABLE when searching via nfs4_lookup_stateid()
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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 8dd91e8d31febf4d9cca3ae1bb4771d33ae7ee5a | affected | git | 52e209203c35a4fbff8af23cd3613efe5df40102 | Unavailable | None listed |
| 8dd91e8d31febf4d9cca3ae1bb4771d33ae7ee5a | affected | git | dc6f3295905d7185e71091870119a8c11c3808cc | Unavailable | None listed |
| 8dd91e8d31febf4d9cca3ae1bb4771d33ae7ee5a | affected | git | 5bcb44e650bc4ec7eac23df90c5e011a77fa2beb | Unavailable | None listed |
| 8dd91e8d31febf4d9cca3ae1bb4771d33ae7ee5a | affected | git | d1bc15b147d35b4cb7ca99a9a7d79d41ca342c13 | Unavailable | None listed |
| 967faa26f313a62e7bebc55d5b8122eaee43b929 | affected | git | Unavailable | Unavailable | None listed |
| 6.11.6 | affected | semver | 6.12 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.12 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.12 | Unavailable | None listed |
| 6.12.23 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.13.11 | unaffected | semver | Unavailable | 6.13.* | None listed |
| 6.14.2 | unaffected | semver | Unavailable | 6.14.* | None listed |
| 6.15 | unaffected | original_commit_for_fix | Unavailable | * | None listed |