CVE-2021-3607: Input Validation
An integer overflow was found in the QEMU implementation of VMWare's paravirtual RDMA device in versions prior to 6.1.0. The issue occurs while handling a "PVRDMAREGDSRHIGH" write from the guest due to improper input validation. This flaw allows a privileged guest user to make QEMU allocate a large amount of memory, resulting in a denial of service. The highest threat from this vulnerability is to system availability.
Other sources
An integer overflow was found in the QEMU implementation of VMWare's paravirtual RDMA device. It could occur while handling a "PVRDMAREGDSRHIGH" write from the guest due to improper input validation. More specifically, the initdevring() function in pvrdmamain.c does not validate the guest supplied 'numpages' which is subsequently decremented and used in pvrdmaringinit() to allocate dynamic memory via gmalloc(). This could result in a NULL pointer dereference issue (if gmalloc returns NULL) or allocation of large amount of memory and out-of-bounds read access. A privileged guest user could exploit this flaw to crash the QEMU process on the host, resulting in a denial of service condition.
static int initdevring(..., uint32t numpages) { ... rc = pvrdmaringinit(..., (dmaaddrt)numpages - 1); // guest may provide numpages = 0 ... }
int pvrdmaringinit(..., uint32t npages) { ... ring->pages = gmalloc(npages sizeof(void )); // npages may be -1 here for (i = 0; i < npages; i++) { ... ring->pages[i] = rdmapcidmamap(dev, tbl[i], TARGETPAGESIZE); ... }
— Red Hat
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the vulnerability ID for this issue?
The vulnerability ID for this issue is CVE-2021-3607.
What is the severity level of CVE-2021-3607?
The severity level of CVE-2021-3607 is medium.
What is the affected software for CVE-2021-3607?
The affected software for CVE-2021-3607 includes QEMU qemu, Debian Debian Linux, and Fedoraproject Fedora.
How does CVE-2021-3607 occur?
CVE-2021-3607 occurs due to an integer overflow in the QEMU implementation of VMWare's paravirtual RDMA device.
Where can I find more information about CVE-2021-3607?
You can find more information about CVE-2021-3607 at the following references: [1], [2], [3]