Description
In the Linux kernel, the following vulnerability has been resolved: NFSD: Fix SECINFO_NO_NAME decode error cleanup nfsd4_decode_secinfo_no_name() currently initializes sin_exp after decoding sin_style. If the XDR stream is truncated, the decoder returns nfserr_bad_xdr before sin_exp is initialized. Since commit 3fdc54646234 ("NFSD: Reduce amount of struct nfsd4_compoundargs that needs clearing"), the inline iops array is not cleared between RPC calls. A failed SECINFO_NO_NAME decode can therefore leave sin_exp holding stale union contents from a previous operation. The error response path still invokes nfsd4_secinfo_no_name_release(), which calls exp_put() on a non-NULL sin_exp. Initialize sin_exp before the first failable decode step, matching nfsd4_decode_secinfo().
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
5e76b25d7cc82c148d391c0c43b884e6427cb302 to < 8836405abdc53ca3dd5fc68b2cf6f8f012fad011affected07b68ff5c71cf4ed5443016d8eb116863c0a4d88 to < 49de5d31dd8fdebf78bdeaf196b0ca5cd5c75439affected3fdc546462348b8a497c72bc894e0cde9f10fc40 to < 5ec37edcb534f3fc92304be236d37f08e6545585affected3fdc546462348b8a497c72bc894e0cde9f10fc40 to < 1e04be34cafae119e82bcaccd6d28a20f72a3647affected3fdc546462348b8a497c72bc894e0cde9f10fc40 to < 161d1aaeb04d620d3692639700512bb5038c1e10affected3fdc546462348b8a497c72bc894e0cde9f10fc40 to < c8a24effd96d4779e2ad779654682304491c55a5affected3fdc546462348b8a497c72bc894e0cde9f10fc40 to < 46eb17d45be69d28c7a23ea03283b207426a8232affected3fdc546462348b8a497c72bc894e0cde9f10fc40 to < 9e18e83b8846a5c3fe13fc8a464b4865d33996c6affected5.10.220 to < 5.10.260affected5.15.154 to < 5.15.211affected
Linux Linux
Default version status: affected
6.1affected0 to < 6.1unaffected5.10.260 to ≤ 5.10.*unaffected5.15.211 to ≤ 5.15.*unaffected6.1.177 to ≤ 6.1.*unaffected6.6.144 to ≤ 6.6.*unaffected6.12.95 to ≤ 6.12.*unaffected6.18.38 to ≤ 6.18.*unaffected7.1.3 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/8836405abdc53ca3dd5fc68b2cf6f8f012fad011 ↗
- https://git.kernel.org/stable/c/49de5d31dd8fdebf78bdeaf196b0ca5cd5c75439 ↗
- https://git.kernel.org/stable/c/5ec37edcb534f3fc92304be236d37f08e6545585 ↗
- https://git.kernel.org/stable/c/1e04be34cafae119e82bcaccd6d28a20f72a3647 ↗
- https://git.kernel.org/stable/c/161d1aaeb04d620d3692639700512bb5038c1e10 ↗
- https://git.kernel.org/stable/c/c8a24effd96d4779e2ad779654682304491c55a5 ↗
- https://git.kernel.org/stable/c/46eb17d45be69d28c7a23ea03283b207426a8232 ↗
- https://git.kernel.org/stable/c/9e18e83b8846a5c3fe13fc8a464b4865d33996c6 ↗