CVE-2021-3975 Use after free in libvirt

Medium 6.5 Published Updated

An unprivileged client can crash the libvirt daemon via a use-after-free flaw in monitor handling during guest shutdown.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2021-3975?

CVE-2021-3975 is a medium-severity use after free vulnerability in Canonical Ubuntu Linux, published on 23 Aug 2022. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

A use-after-free flaw was found in libvirt. The qemuMonitorUnregister() function in qemuProcessHandleMonitorEOF is called using multiple threads without being adequately protected by a monitor lock. This flaw could be triggered by the virConnectGetAllDomainStats API when the guest is shutting down. An unprivileged client with a read-only connection could use this flaw to perform a denial of service attack by causing the libvirt daemon to crash.

Weakness: CWE-416

Which versions are affected by CVE-2021-3975?

It affects 14 products.

Linux distribution packages (40)
SLOF Red Hat:advanced_virtualization:8.5::el8All versions0:20210217-1.module+el8.5.0+10946+35bb3930
hivex Red Hat:advanced_virtualization:8.5::el8All versions0:1.3.18-22.module+el8.5.0+12087+2208d04c
hivex-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions0:1.3.18-22.module+el8.5.0+12087+2208d04c
hivex-debugsource Red Hat:advanced_virtualization:8.5::el8All versions0:1.3.18-22.module+el8.5.0+12087+2208d04c
hivex-devel Red Hat:advanced_virtualization:8.5::el8All versions0:1.3.18-22.module+el8.5.0+12087+2208d04c
libguestfs Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-bash-completion Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-debugsource Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-devel Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-gfs2 Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-gobject Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-gobject-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-gobject-devel Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-inspect-icons Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-java Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-java-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-java-devel Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-javadoc Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-man-pages-ja Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-man-pages-uk Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-rescue Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-rsync Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-tools Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-tools-c Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-tools-c-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libguestfs-winsupport Red Hat:advanced_virtualization:8.5::el8All versions0:8.2-2.module+el8.5.0+12739+164806c8
libguestfs-xfs Red Hat:advanced_virtualization:8.5::el8All versions1:1.44.0-3.module+el8.5.0+10681+17a9b157
libiscsi Red Hat:advanced_virtualization:8.5::el8All versions0:1.18.0-8.module+el8.4.0+8855+a9e237a9
libiscsi-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions0:1.18.0-8.module+el8.4.0+8855+a9e237a9
libiscsi-debugsource Red Hat:advanced_virtualization:8.5::el8All versions0:1.18.0-8.module+el8.4.0+8855+a9e237a9
libiscsi-devel Red Hat:advanced_virtualization:8.5::el8All versions0:1.18.0-8.module+el8.4.0+8855+a9e237a9
libiscsi-utils Red Hat:advanced_virtualization:8.5::el8All versions0:1.18.0-8.module+el8.4.0+8855+a9e237a9
libiscsi-utils-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions0:1.18.0-8.module+el8.4.0+8855+a9e237a9
libnbd Red Hat:advanced_virtualization:8.5::el8All versions0:1.6.0-4.module+el8.5.0+11638+3d8f9850
libnbd-bash-completion Red Hat:advanced_virtualization:8.5::el8All versions0:1.6.0-4.module+el8.5.0+11638+3d8f9850
libnbd-debuginfo Red Hat:advanced_virtualization:8.5::el8All versions0:1.6.0-4.module+el8.5.0+11638+3d8f9850
libnbd-debugsource Red Hat:advanced_virtualization:8.5::el8All versions0:1.6.0-4.module+el8.5.0+11638+3d8f9850
libnbd-devel Red Hat:advanced_virtualization:8.5::el8All versions0:1.6.0-4.module+el8.5.0+11638+3d8f9850
libtpms Red Hat:advanced_virtualization:8.5::el8All versions0:0.7.4-6.20201106git2452a24dab.module+el8.5.0+12487+f2fa92b4

Products include Canonical Ubuntu Linux, Debian Debian Linux, Fedoraproject Fedora, Netapp Ontap Select Deploy Administration Utility, Redhat Codeready Linux Builder, Redhat Enterprise Linux and 8 more.

How do I fix CVE-2021-3975?

Apply the vendor's patch.

Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.

Is CVE-2021-3975 being exploited?

There is no known exploitation of CVE-2021-3975 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

All Canonical Ubuntu Linux vulnerabilities

Sources

Also known as CLSA-2022-1654537477, CLSA-2022-1654537694, DEBIAN-CVE-2021-3975, GHSA-pg89-46xq-98vv, OESA-2022-1891, RHBA-2021:4684 and 1 more.

Is CVE-2021-3975 in your software?

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

Check your SBOMs for free