Description
In the Linux kernel, the following vulnerability has been resolved: nfsd: check client ownership when cancelling a copy-notify stateid On the OFFLOAD_CANCEL path (clp != NULL), manage_cpntf_state() freed the target cpntf state without checking ownership. The lookup key st->si_opaque.so_id is allocated cyclically (guessable) and the embedded clientid is the fixed per-net nn->s2s_cp_cl_id, so any authenticated NFSv4.2 client could cancel and free another client's copy-notify stateid. Compare the creating clientid recorded in state->cp_p_clid against the requesting client's cl_clientid and return nfserr_bad_stateid on a mismatch instead of freeing the entry.
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
ce0887ac96d35c7105090e166bb0807dc0a0e838 to < 88daaed26e17e1c7e851859b5bbb4f0e1ab6d0e9affectedce0887ac96d35c7105090e166bb0807dc0a0e838 to < 81b2cfe767943922eca906a2a5af23a0ce5d0f35affectedce0887ac96d35c7105090e166bb0807dc0a0e838 to < 6bba72b8ee68ad631b94bd439592cba46de54d7daffectedce0887ac96d35c7105090e166bb0807dc0a0e838 to < 75268f6cfe26b09a7e4d3216367e87fe9e2a26aaaffectedce0887ac96d35c7105090e166bb0807dc0a0e838 to < b1eca07303594ca27f5dc360a6946bd7e1f5b04caffectedce0887ac96d35c7105090e166bb0807dc0a0e838 to < b42dc26a14b4ad5d6daaada11ec4c70744141c25affectedce0887ac96d35c7105090e166bb0807dc0a0e838 to < d801906165cb5cc250d5cbe44935594e170be3e2affectedce0887ac96d35c7105090e166bb0807dc0a0e838 to < 6bdbfab96e0cf25e5f57dac5c09dc1749751a4bfaffected
Linux Linux
Default version status: affected
5.6affected0 to < 5.6unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/88daaed26e17e1c7e851859b5bbb4f0e1ab6d0e9 ↗
- https://git.kernel.org/stable/c/81b2cfe767943922eca906a2a5af23a0ce5d0f35 ↗
- https://git.kernel.org/stable/c/6bba72b8ee68ad631b94bd439592cba46de54d7d ↗
- https://git.kernel.org/stable/c/75268f6cfe26b09a7e4d3216367e87fe9e2a26aa ↗
- https://git.kernel.org/stable/c/b1eca07303594ca27f5dc360a6946bd7e1f5b04c ↗
- https://git.kernel.org/stable/c/b42dc26a14b4ad5d6daaada11ec4c70744141c25 ↗
- https://git.kernel.org/stable/c/d801906165cb5cc250d5cbe44935594e170be3e2 ↗
- https://git.kernel.org/stable/c/6bdbfab96e0cf25e5f57dac5c09dc1749751a4bf ↗