CVE-2021-47506
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2021
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
nfsd: fix use-after-free due to delegation race
In the Linux kernel, the following vulnerability has been resolved: nfsd: fix use-after-free due to delegation race A delegation break could arrive as soon as we've called vfs_setlease. A delegation break runs a callback which immediately (in nfsd4_cb_recall_prepare) adds the delegation to del_recall_lru. If we then exit nfs4_set_delegation without hashing the delegation, it will be freed as soon as the callback is done with it, without ever being removed from del_recall_lru. Symptoms show up later as use-after-free or list corruption warnings, usually in the laundromat thread. I suspect aba2072f4523 "nfsd: grant read delegations to clients holding writes" made this bug easier to hit, but I looked as far back as v3.0 and it looks to me it already had the same problem. So I'm not sure where the bug was introduced; it may have been there from the beginning.
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) |
|---|---|---|---|---|---|
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | 04a8d07f3d58308b92630045560799a3faa3ebce | Unavailable | None listed |
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | 348714018139c39533c55661a0c7c990671396b4 | Unavailable | None listed |
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | 33645d3e22720cac1e4548f8fef57bf0649536ee | Unavailable | None listed |
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | 2becaa990b93cbd2928292c0b669d3abb6cf06d4 | Unavailable | None listed |
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | e0759696de6851d7536efddfdd2dfed4c4df1f09 | Unavailable | None listed |
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | eeb0711801f5e19ef654371b627682aed3b11373 | Unavailable | None listed |
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | 148c816f10fd11df27ca6a9b3238cdd42fa72cd3 | Unavailable | None listed |
| dff1399f8addf7129c49bb2227469da79cc30b47 | affected | git | 548ec0805c399c65ed66c6641be467f717833ab5 | 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) |
|---|---|---|---|---|---|
| 3.17 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 3.17 | Unavailable | None listed |
| 4.4.296 | unaffected | semver | Unavailable | 4.4.* | None listed |
| 4.9.294 | unaffected | semver | Unavailable | 4.9.* | None listed |
| 4.14.259 | unaffected | semver | Unavailable | 4.14.* | None listed |
| 4.19.222 | unaffected | semver | Unavailable | 4.19.* | None listed |
| 5.4.168 | unaffected | semver | Unavailable | 5.4.* | None listed |
| 5.10.85 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.8 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 5.16 | unaffected | original_commit_for_fix | Unavailable | * | None listed |