CVE-2024-26584 net: tls: handle backlogging of crypto requests
Improper handling of crypto request backlogging in Linux kernel TLS can lead to denial of service when the crypto queue is full.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-26584?
CVE-2024-26584 is a critical denial of service vulnerability in Linux kernel, published on 21 Feb 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Weakness: CWE-755
Which versions are affected by CVE-2024-26584?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-26584?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-26584 being exploited?
There is no known exploitation of CVE-2024-26584 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-40183, BELL-CVE-2024-26584, DEBIAN-CVE-2024-26584, GHSA-rjjw-vjj8-q96x, ROOT-OS-DEBIAN-11-CVE-2024-26584, UBUNTU-CVE-2024-26584.