Assigner | Linux |
Reserved | 2024-02-19 |
Published | 2024-02-21 |
Updated | 2024-07-05 |
Description
In the Linux kernel, the following vulnerability has been resolved: net: tls: handle backlogging of crypto requests Since we're setting the CRYPTO_TFM_REQ_MAY_BACKLOG flag on our requests to the crypto API, crypto_aead_{encrypt,decrypt} can return -EBUSY instead of -EINPROGRESS in valid situations. For example, when the cryptd queue for AESNI is full (easy to trigger with an artificially low cryptd.cryptd_max_cpu_qlen), requests will be enqueued to the backlog but still processed. In that case, the async callback will also be called twice: first with err == -EINPROGRESS, which it seems we can just ignore, then with err == 0. Compared to Sabrina's original patch this version uses the new tls_*crypt_async_wait() helpers and converts the EBUSY to EINPROGRESS to avoid having to modify all the error handling paths. The handling is identical.
Product status
a54667f6728c before 3ade391adc58
a54667f6728c before cd1bbca03f3c
a54667f6728c before 13eca403876b
a54667f6728c before ab6397f072e5
a54667f6728c before 859054147318
4.16
Any version before 4.16
5.15.160
6.1.84
6.6.18
6.7.6
6.8
References
https://git.kernel.org/stable/c/3ade391adc584f17b5570fd205de3ad029090368
https://git.kernel.org/stable/c/cd1bbca03f3c1d845ce274c0d0a66de8e5929f72
https://git.kernel.org/stable/c/13eca403876bbea3716e82cdfe6f1e6febb38754
https://git.kernel.org/stable/c/ab6397f072e5097f267abf5cb08a8004e6b17694
https://git.kernel.org/stable/c/8590541473188741055d27b955db0777569438e3