Critical · published July 19, 2026
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().
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.10.220, < 5.10.260 | 5.10.260 |
| linux/linux_kernel | ≥ 5.15.154, < 5.15.211 | 5.15.211 |
| linux/linux_kernel | ≥ 6.1, < 6.1.177 | 6.1.177 |
| linux/linux_kernel | ≥ 6.2, < 6.6.144 | 6.6.144 |
| linux/linux_kernel | ≥ 6.7, < 6.12.95 | 6.12.95 |
| linux/linux_kernel | ≥ 6.13, < 6.18.38 | 6.18.38 |
| linux/linux_kernel | ≥ 6.19, < 7.1.3 | 7.1.3 |