Description
In the Linux kernel, the following vulnerability has been resolved: nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm() Lei Lu recently reported that nfsd4_setclientid_confirm() did not check the return value from get_client_locked(). a SETCLIENTID_CONFIRM could race with a confirmed client expiring and fail to get a reference. That could later lead to a UAF. Fix this by getting a reference early in the case where there is an extant confirmed client. If that fails then treat it as if there were no confirmed client found at all. In the case where the unconfirmed client is expiring, just fail and return the result from get_client_locked().
Product status
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before 3f252a73e81aa01660cb426735eab932e6182e8d
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before d35ac850410966010e92f401f4e21868a9ea4d8b
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before f3aac6cf390d8b80e1d82975faf4ac61175519c0
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before 22f45cedf281e6171817c8a3432c44d788c550e1
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before d71abd1ae4e0413707cd42b10c24a11d1aa71772
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before 74ad36ed60df561a303a19ecef400c7096b20306
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before 36e83eda90e0e4ac52f259f775b40b2841f8a0a3
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before 571a5e46c71490285d2d8c06f6b5a7cbf6c7edd1
d20c11d86d8f821a64eac7d6c8f296f06d935f4f (git) before 908e4ead7f757504d8b345452730636e298cbf68
3.17
Any version before 3.17
5.4.297 (semver)
5.10.241 (semver)
5.15.190 (semver)
6.1.149 (semver)
6.6.103 (semver)
6.12.43 (semver)
6.15.11 (semver)
6.16.2 (semver)
6.17 (original_commit_for_fix)
References
git.kernel.org/...c/3f252a73e81aa01660cb426735eab932e6182e8d
git.kernel.org/...c/d35ac850410966010e92f401f4e21868a9ea4d8b
git.kernel.org/...c/f3aac6cf390d8b80e1d82975faf4ac61175519c0
git.kernel.org/...c/22f45cedf281e6171817c8a3432c44d788c550e1
git.kernel.org/...c/d71abd1ae4e0413707cd42b10c24a11d1aa71772
git.kernel.org/...c/74ad36ed60df561a303a19ecef400c7096b20306
git.kernel.org/...c/36e83eda90e0e4ac52f259f775b40b2841f8a0a3
git.kernel.org/...c/571a5e46c71490285d2d8c06f6b5a7cbf6c7edd1
git.kernel.org/...c/908e4ead7f757504d8b345452730636e298cbf68