In the Linux kernel, the following vulnerability has been resolved:
NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
OPDESC() simply indexes into nfsd4_ops[] by the op's operation number, without range checking that value. It assumes callers are careful to avoid calling it with an out-of-bounds opnum value.
nfsd4_decode_compound() is not so careful, and can invoke OPDESC() with opnum set to OP_ILLEGAL, which is 10044 -- well beyond the end of nfsd4_ops[].
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 4.14 | 5.10.220 |
| linux / linux_kernel | 5.11 | 5.15.107 |
| linux / linux_kernel | 5.16 | 6.1.24 |
| linux / linux_kernel | 6.2 | 6.2.11 |
| linux / linux_kernel | 6.3-rc1 | 6.3-rc1.x |
| linux / linux_kernel | 6.3-rc2 | 6.3-rc2.x |
| linux / linux_kernel | 6.3-rc3 | 6.3-rc3.x |
| linux / linux_kernel | 6.3-rc4 | 6.3-rc4.x |
| linux / linux_kernel | 6.3-rc5 | 6.3-rc5.x |