CVE-2021-47604 vduse: check that offset is within bounds in get_config()

High 7.1 Published Updated

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.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2021-47604, GHSA-5583-qmch-62x6, UBUNTU-CVE-2021-47604.

Is CVE-2021-47604 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free