Description
In the Linux kernel, the following vulnerability has been resolved: nfsd: never defer requests during idmap lookup During v4 request compound arg decoding, some ops (e.g. SETATTR) can trigger idmap lookup upcalls. When those upcall responses get delayed beyond the allowed time limit, cache_check() will mark the request for deferral and cause it to be dropped. This prevents nfs4svc_encode_compoundres from being executed, and thus the session slot flag NFSD4_SLOT_INUSE never gets cleared. Subsequent client requests will fail with NFSERR_JUKEBOX, given that the slot will be marked as in-use, making the SEQUENCE op fail. Fix this by making sure that the RQ_USEDEFERRAL flag is always clear during nfs4svc_decode_compoundargs(), since no v4 request should ever be deferred.
Product status
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before b9abb760db20504240a7147f27934d900cd80b23
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before 3a72c7dedc99b321e0f267e4e999e5baf07c4593
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before 99e17b20fddac19a228d213e00f6b9e1c10daff9
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before 243f71ed873ff3feeb6f9b5cb145d63f7188b4c4
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before 063a6f22478ef929625000a2caf54667725c1dfd
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before d75ec4504a4340b033b15cad0303988b3089dd93
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before 8dff54fe88c0dcd4c55bff9fc2fa6ca968290826
2f425878b6a71571341dcd3f9e9d1a6f6355da9c (git) before f9c206cdc4266caad6a9a7f46341420a10f03ccb
2.6.30
Any version before 2.6.30
5.10.252 (semver)
5.15.202 (semver)
6.1.165 (semver)
6.6.128 (semver)
6.12.75 (semver)
6.18.14 (semver)
6.19.4 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/b9abb760db20504240a7147f27934d900cd80b23
git.kernel.org/...c/3a72c7dedc99b321e0f267e4e999e5baf07c4593
git.kernel.org/...c/99e17b20fddac19a228d213e00f6b9e1c10daff9
git.kernel.org/...c/243f71ed873ff3feeb6f9b5cb145d63f7188b4c4
git.kernel.org/...c/063a6f22478ef929625000a2caf54667725c1dfd
git.kernel.org/...c/d75ec4504a4340b033b15cad0303988b3089dd93
git.kernel.org/...c/8dff54fe88c0dcd4c55bff9fc2fa6ca968290826
git.kernel.org/...c/f9c206cdc4266caad6a9a7f46341420a10f03ccb