Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before 88daaed26e17e1c7e851859b5bbb4f0e1ab6d0e9; affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before 81b2cfe767943922eca906a2a5af23a0ce5d0f35; affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before 6bba72b8ee68ad631b94bd439592cba46de54d7d; affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before 75268f6cfe26b09a7e4d3216367e87fe9e2a26aa; affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before b1eca07303594ca27f5dc360a6946bd7e1f5b04c; affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before b42dc26a14b4ad5d6daaada11ec4c70744141c25; affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before d801906165cb5cc250d5cbe44935594e170be3e2; affected ce0887ac96d35c7105090e166bb0807dc0a0e838 before 6bdbfab96e0cf25e5f57dac5c09dc1749751a4bf |
| Linux / Linux | affected 5.6; unaffected 0 before 5.6; unaffected 5.10.270 through 5.10.*; unaffected 5.15.221 through 5.15.*; unaffected 6.1.188 through 6.1.*; unaffected 6.6.157 through 6.6.*; unaffected 6.12.109 through 6.12.*; unaffected 6.18.50 through 6.18.*; unaffected 7.2.4 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
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