CVE-2021-47604 vduse: check that offset is within bounds in get_config()
An out-of-bounds read in the Linux kernel's vduse driver allows attackers to disclose sensitive memory contents due to missing offset validation.
- 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-2021-47604?
CVE-2021-47604 is a high-severity vulnerability in Linux kernel, published on 19 Jun 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:
vduse: check that offset is within bounds in get_config()
This condition checks "len" but it does not check "offset" and that could result in an out of bounds read if "offset > dev->config_size". The problem is that since both variables are unsigned the "dev->config_size - offset" subtraction would result in a very high unsigned value.
I think these checks might not be necessary because "len" and "offset" are supposed to already have been validated using the vhost_vdpa_config_validate() function. But I do not know the code perfectly, and I like to be safe.
Weakness: CWE-125
Which versions are affected by CVE-2021-47604?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2021-47604?
Apply the vendor's patch.
Is CVE-2021-47604 being exploited?
There is no known exploitation of CVE-2021-47604 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as DEBIAN-CVE-2021-47604, GHSA-5583-qmch-62x6, UBUNTU-CVE-2021-47604.