CVE-2020-25637: Double Free

Published Sep 21, 2020
·
Updated

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

6 affected componentsFixes available
redhat/libvirt<0:4.5.0-36.el7_9.3
0:4.5.0-36.el7_9.3
redhat/libvirt<6.8.0
6.8.0
debian/libvirt
7.0.0-3+deb11u39.0.0-4+deb12u110.7.0-3
redhat libvirt<6.8.0
openSUSE Leap=15.1
openSUSE Leap=15.2

Event History

Sep 30, 2020
CVE Published
12:00 AM
Oct 6, 2020
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
DescriptionWeakness
May 15, 2024
Data Sourced
via Launchpad·12:59 AM
Description
Sep 16, 2024
Data Sourced
via Ubuntu·02:25 AM
RemedyDescriptionSeverityAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

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.

2

How does CVE-2020-25637 affect the polkit access control driver?

CVE-2020-25637 affects the polkit access control driver in the libvirt API.

3

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.

4

What is the severity of CVE-2020-25637?

CVE-2020-25637 has a severity rating of medium (6.4).

5

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.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203