CVE-2021-3975

NameCVE-2021-3975
DescriptionA 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3778-1, ELA-1161-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
libvirt (PTS)jessie, jessie (lts)1.2.9-9+deb8u8fixed
stretch (security)3.0.0-4+deb9u5vulnerable
stretch (lts), stretch3.0.0-4+deb9u6fixed
buster (security), buster, buster (lts)5.0.0-4+deb10u2fixed
bullseye7.0.0-3+deb11u3fixed
bookworm9.0.0-4+deb12u2fixed
sid, trixie10.9.0-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
libvirtsourcejessie1.2.9-9+deb8u8ELA-1161-1
libvirtsourcestretch3.0.0-4+deb9u6ELA-1161-1
libvirtsourcebuster5.0.0-4+deb10u2DLA-3778-1
libvirtsourcebullseye7.0.0-3+deb11u3
libvirtsource(unstable)7.6.0-1

Notes

[stretch] - libvirt <no-dsa> (Minor issue)
https://bugzilla.redhat.com/show_bug.cgi?id=2024326
Fixed by: https://github.com/libvirt/libvirt/commit/1ac703a7d0789e46833f4013a3876c2e3af18ec7 (v7.1.0-rc2)

Search for package or bug name: Reporting problems