CVE-2024-26844 block: Fix WARNING in _copy_from_iter
A local attacker can trigger a kernel warning and potential denial of service by crafting specific block device I/O requests with mixed transfer directions.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-26844?
CVE-2024-26844 is a medium-severity denial of service vulnerability in Linux kernel, published on 17 Apr 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
block: Fix WARNING in _copy_from_iter
Syzkaller reports a warning in _copy_from_iter because an iov_iter is supposedly used in the wrong direction. The reason is that syzcaller managed to generate a request with a transfer direction of SG_DXFER_TO_FROM_DEV. This instructs the kernel to copy user buffers into the kernel, read into the copied buffers and then copy the data back to user space.
Thus the iovec is used in both directions.
Detect this situation in the block layer and construct a new iterator with the correct direction for the copy-in.
Which versions are affected by CVE-2024-26844?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-26844?
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-26844 being exploited?
There is no known exploitation of CVE-2024-26844 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2024-26844, DEBIAN-CVE-2024-26844, GHSA-6j6x-q3pw-5hr9, ROOT-OS-DEBIAN-11-CVE-2024-26844, ROOT-OS-UBUNTU-2204-CVE-2024-26844, UBUNTU-CVE-2024-26844.