Improper locking in libvirt - CVE-2022-0897

 

Improper locking in libvirt - CVE-2022-0897

Published: May 3, 2022


Vulnerability identifier: #VU62739
CSH Severity: Medium
CVSS v4: 6.8 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2022-0897
CWE-ID: CWE-667
Exploitation vector: Local access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a local user to perform a denial of service attack (DoS).

The vulnerability exists due to double-locking error within the nwfilterConnectNumOfNWFilters() function in nwfilter/nwfilter_driver.c in libvirt. An local user can abuse the libvirt API virConnectNumOfNWFilters to crash the network filter management daemon (libvirtd/virtnwfilterd).


Affected software

libvirt
Oracle Linux
Gentoo Linux
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Manager Proxy
SUSE Manager Server
SUSE Linux Enterprise Micro
SUSE Enterprise Storage
Red Hat CodeReady Linux Builder for x86_64
Red Hat CodeReady Linux Builder for Power, little endian
Red Hat CodeReady Linux Builder for ARM 64
Red Hat CodeReady Linux Builder for IBM z Systems
Red Hat Enterprise Linux for ARM 64
Red Hat Enterprise Linux for Power, little endian
Red Hat Enterprise Linux for IBM z Systems
Red Hat Enterprise Linux for x86_64
SUSE Linux Enterprise Server for SAP Applications
SUSE Linux Enterprise Software Development Kit
SUSE Linux Enterprise Server
SUSE Linux Enterprise High Performance Computing 15 SP2 LTSS
SUSE Linux Enterprise Server 15 SP2 LTSS
SUSE Linux Enterprise Module for Basesystem
SUSE Linux Enterprise Module for Server Applications
SUSE Linux Enterprise Desktop
SUSE Linux Enterprise High Performance Computing
openSUSE Leap
Ubuntu
openEuler
libvirt-daemon (Ubuntu package)
libvirt-daemon-system (Ubuntu package)
libvirt0 (Ubuntu package)
libvirt-daemon-driver-storage-iscsi-debuginfo
libvirt-daemon-driver-storage-logical-debuginfo
libvirt-daemon-driver-storage-iscsi
libvirt-daemon-driver-storage-disk-debuginfo
libvirt-daemon-driver-storage-disk
libvirt-daemon-driver-storage-core-debuginfo
libvirt-daemon-driver-storage-core
libvirt-daemon-driver-storage
libvirt-daemon-driver-secret-debuginfo
libvirt-daemon-driver-secret
libvirt-daemon-driver-qemu-debuginfo
libvirt-daemon-driver-qemu
libvirt-daemon-driver-nwfilter-debuginfo
libvirt-daemon-driver-nwfilter
libvirt-daemon-driver-storage-logical
libvirt-daemon-driver-network-debuginfo
libvirt-daemon-driver-storage-mpath
libvirt-daemon-driver-storage-mpath-debuginfo
libvirt-daemon-driver-storage-scsi
libvirt-daemon-driver-storage-scsi-debuginfo
libvirt-daemon-hooks
libvirt-daemon-lxc
libvirt-daemon-qemu
libvirt-doc
libvirt-libs
libvirt-libs-debuginfo
libvirt-lock-sanlock
libvirt-client
libvirt-daemon-xen
libvirt-daemon-driver-libxl-debuginfo
libvirt-daemon-driver-libxl
libvirt-daemon-driver-storage-rbd-debuginfo
libvirt-daemon-driver-storage-rbd
libvirt-nss-debuginfo
libvirt-nss
libvirt-lock-sanlock-debuginfo
libvirt-debugsource
libvirt-devel
libvirt
libvirt-admin
libvirt-admin-debuginfo
libvirt-daemon-driver-nodedev-debuginfo
libvirt-client-debuginfo
libvirt-daemon
libvirt-daemon-config-network
libvirt-daemon-config-nwfilter
libvirt-daemon-debuginfo
libvirt-daemon-driver-interface
libvirt-daemon-driver-interface-debuginfo
libvirt-daemon-driver-lxc
libvirt-daemon-driver-lxc-debuginfo
libvirt-daemon-driver-network
libvirt-daemon-driver-nodedev
libvirt-bash-completion
libvirt-daemon-driver-storage-iscsi-direct
libvirt-wireshark
libvirt-debuginfo
libvirt-daemon-kvm
libvirt-daemon-driver-storage-gluster
libvirt-docs
libvirt-daemon-driver-storage-gluster-debuginfo
libvirt-daemon-driver-storage-iscsi-direct-debuginfo
libvirt-devel-32bit
libvirt-client-32bit-debuginfo
wireshark-plugin-libvirt
wireshark-plugin-libvirt-debuginfo
dev-python/libvirt-python
app-emulation/libvirt
libvirt (Red Hat package)

How to mitigate CVE-2022-0897

Install updates from vendor's website.

libvirt - update to 8.2.0
libvirt-daemon (Ubuntu package) - addressed in versions 4.0.0-1ubuntu8.21, 6.0.0-0ubuntu8.16, 7.6.0-0ubuntu1.2, 8.0.0-1ubuntu7.5, 8.6.0-0ubuntu3.2, 9.0.0-2ubuntu1.1
libvirt-daemon-system (Ubuntu package) - addressed in versions 4.0.0-1ubuntu8.21, 6.0.0-0ubuntu8.16, 7.6.0-0ubuntu1.2, 8.0.0-1ubuntu7.5, 8.6.0-0ubuntu3.2, 9.0.0-2ubuntu1.1
libvirt0 (Ubuntu package) - addressed in versions 4.0.0-1ubuntu8.21, 6.0.0-0ubuntu8.16, 7.6.0-0ubuntu1.2, 8.0.0-1ubuntu7.5, 8.6.0-0ubuntu3.2, 9.0.0-2ubuntu1.1
libvirt-daemon-driver-storage-iscsi-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-logical-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-iscsi - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-disk-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-disk - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-core-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-core - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-secret-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-secret - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-qemu-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-qemu - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-nwfilter-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-nwfilter - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-logical - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-network-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-mpath - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-mpath-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-scsi - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-scsi-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-hooks - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-lxc - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-qemu - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-doc - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-libs - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-libs-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-lock-sanlock - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-client - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-xen - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-libxl-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-libxl - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-rbd-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-rbd - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-nss-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-nss - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-lock-sanlock-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-debugsource - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-devel - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-admin - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-admin-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-nodedev-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-client-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-config-network - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-config-nwfilter - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-interface - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-interface-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-lxc - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-lxc-debuginfo - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-network - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-daemon-driver-nodedev - addressed in versions 5.1.0-13.31.1, 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-bash-completion - addressed in versions 6.0.0-150200.13.27.1, 7.1.0-150300.6.29.1
libvirt-lock-sanlock - update to 6.2.0-15
libvirt-daemon-driver-interface - update to 6.2.0-15
libvirt-admin - update to 6.2.0-15
libvirt-daemon-driver-storage - update to 6.2.0-15
libvirt-libs - update to 6.2.0-15
libvirt-daemon-driver-storage-iscsi - update to 6.2.0-15
libvirt-daemon-driver-nwfilter - update to 6.2.0-15
libvirt-daemon-config-network - update to 6.2.0-15
libvirt-nss - update to 6.2.0-15
libvirt-daemon-driver-storage-mpath - update to 6.2.0-15
libvirt-client - update to 6.2.0-15
libvirt-daemon-driver-nodedev - update to 6.2.0-15
libvirt-daemon-config-nwfilter - update to 6.2.0-15
libvirt-daemon-driver-storage-iscsi-direct - update to 6.2.0-15
libvirt-daemon-driver-network - update to 6.2.0-15
libvirt-daemon-driver-storage-core - update to 6.2.0-15
libvirt-wireshark - update to 6.2.0-15
libvirt - update to 6.2.0-15
libvirt-daemon-driver-secret - update to 6.2.0-15
libvirt-daemon-qemu - update to 6.2.0-15
libvirt-debugsource - update to 6.2.0-15
libvirt-daemon-driver-qemu - update to 6.2.0-15
libvirt-daemon-driver-storage-rbd - update to 6.2.0-15
libvirt-bash-completion - update to 6.2.0-15
libvirt-debuginfo - update to 6.2.0-15
libvirt-daemon-driver-storage-disk - update to 6.2.0-15
libvirt-daemon - update to 6.2.0-15
libvirt-daemon-driver-storage-scsi - update to 6.2.0-15
libvirt-daemon-kvm - update to 6.2.0-15
libvirt-daemon-driver-storage-gluster - update to 6.2.0-15
libvirt-devel - update to 6.2.0-15
libvirt-daemon-driver-storage-logical - update to 6.2.0-15
libvirt-docs - update to 6.2.0-15
libvirt-daemon-driver-storage-gluster-debuginfo - update to 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-gluster - update to 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-iscsi-direct - update to 7.1.0-150300.6.29.1
libvirt-daemon-driver-storage-iscsi-direct-debuginfo - update to 7.1.0-150300.6.29.1
libvirt-devel-32bit - update to 7.1.0-150300.6.29.1
libvirt-client-32bit-debuginfo - update to 7.1.0-150300.6.29.1
wireshark-plugin-libvirt - update to 7.1.0-150300.6.29.1
wireshark-plugin-libvirt-debuginfo - update to 7.1.0-150300.6.29.1
dev-python/libvirt-python - update to 8.2.0
app-emulation/libvirt - update to 8.2.0
libvirt (Red Hat package) - update to 8.5.0-7.el9_1

External References

Related Security Bulletins