CVE-2024-26584 Information
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_encryptdecrypt 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.
Reference
https://git.kernel.org/stable/c/8590541473188741055d27b955db0777569438e3
Share on: