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: