Skip to content
CVE PROGRAM SOURCE RECORD9.8 Critical

CVE-2021-47506

nfsd: fix use-after-free due to delegation race

Description

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • dff1399f8addf7129c49bb2227469da79cc30b47 to < 04a8d07f3d58308b92630045560799a3faa3ebceaffected
  • dff1399f8addf7129c49bb2227469da79cc30b47 to < 348714018139c39533c55661a0c7c990671396b4affected
  • dff1399f8addf7129c49bb2227469da79cc30b47 to < 33645d3e22720cac1e4548f8fef57bf0649536eeaffected
  • dff1399f8addf7129c49bb2227469da79cc30b47 to < 2becaa990b93cbd2928292c0b669d3abb6cf06d4affected
  • dff1399f8addf7129c49bb2227469da79cc30b47 to < e0759696de6851d7536efddfdd2dfed4c4df1f09affected
  • dff1399f8addf7129c49bb2227469da79cc30b47 to < eeb0711801f5e19ef654371b627682aed3b11373affected
  • dff1399f8addf7129c49bb2227469da79cc30b47 to < 148c816f10fd11df27ca6a9b3238cdd42fa72cd3affected
  • dff1399f8addf7129c49bb2227469da79cc30b47 to < 548ec0805c399c65ed66c6641be467f717833ab5affected

Linux Linux

Default version status: affected

  • 3.17affected
  • 0 to < 3.17unaffected
  • 4.4.296 to ≤ 4.4.*unaffected
  • 4.9.294 to ≤ 4.9.*unaffected
  • 4.14.259 to ≤ 4.14.*unaffected
  • 4.19.222 to ≤ 4.19.*unaffected
  • 5.4.168 to ≤ 5.4.*unaffected
  • 5.10.85 to ≤ 5.10.*unaffected
  • 5.15.8 to ≤ 5.15.*unaffected
  • 5.16 to ≤ *unaffected

References