CVE-2020-25637: Double Free
A double free memory issue was found to occur in the libvirt API responsible for requesting information about network interfaces of a running QEMU domain. This flaw affects the polkit access control driver. Specifically, clients connecting to the read-write socket with limited ACL permissions could use this flaw to crash the libvirt daemon, resulting in a denial of service, or potentially escalate their privileges on the system. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Other sources
A double free memory issue was found to occur in the libvirt API, in versions before 6.8.0, responsible for requesting information about network interfaces of a running QEMU domain. This flaw affects the polkit access control driver. Specifically, clients connecting to the read-write socket with limited ACL permissions could use this flaw to crash the libvirt daemon, resulting in a denial of service, or potentially escalate their privileges on the system. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
A double free vulnerability was found in libvirt while requesting information about the network interfaces of a running domain. The flaw lies in qemuAgentGetInterfaces() in qemu/qemuagent.c. More specifically, this function interacts with the guest agent and receives JSON data from the agent that contains network interface information. It enumerates the interfaces one by one, using a pointer to a pointers to hold a split interface name (ifname). At some point in every iteration ifname is free'd. If an error occurs right after this, there is a 'goto error', the error handler at this label will free ifname again, leading to a double free. Depending on the ability of the attacker to control and shape the heap state when the second free happens, this flaw may be exploited to achieve code execution.
— Red Hat
Affected Software
Remediation
Patch Available
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2020-25637?
CVE-2020-25637 is a double free memory issue in the libvirt API responsible for requesting information about network interfaces of a running QEMU domain.
How does CVE-2020-25637 affect the polkit access control driver?
CVE-2020-25637 affects the polkit access control driver in the libvirt API.
Which software versions are affected by CVE-2020-25637?
Versions before 6.8.0 of libvirt on Ubuntu and versions before 6.8.0 of libvirt on RedHat are affected.
What is the severity of CVE-2020-25637?
CVE-2020-25637 has a severity rating of medium (6.4).
How can I fix CVE-2020-25637?
To fix CVE-2020-25637, upgrade to version 6.8.0-1 of libvirt on Ubuntu or version 6.8.0 of libvirt on RedHat.