SB2022050308 - Ubuntu update for libvirt
Published: May 3, 2022
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 6 secuirty vulnerabilities.
1) Double Free (CVE-ID: CVE-2020-25637)
The vulnerability allows a local user to escalate privileges on the system.
The vulnerability exists due to a boundary error in the libvirt API, responsible for requesting information about network interfaces of a running QEMU domain. A local client 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.
2) Incorrect permission assignment for critical resource (CVE-ID: CVE-2021-3631)
The vulnerability allows a local user to gain access to sensitive information.
The vulnerability exists due to an error in the way SELinux MCS category pairs for VMs' dynamic labels in security/security_selinux.c. An attacker with access to the guest OS can access files labeled for another guest.
3) Improper locking (CVE-ID: CVE-2021-3667)
The vulnerability allows a local user to perform a denial of service attack (DoS) on the target system.
The vulnerability exists due to double-locking error in the virStoragePoolLookupByTargetPath API in libvirt in storage/storage_driver.c. The storagePoolLookupByTargetPath() function does not properly release a locked object (virStoragePoolObj) on ACL permission failure. Clients connecting to the read-write socket with limited ACL permissions can use this vulnerability to acquire the lock and prevent other users from accessing storage pool/volume APIs. As a result a local user can perform a denial of service (DoS) attack.
4) Use-after-free (CVE-ID: CVE-2021-3975)
The vulnerability allows a local user to perform a denial of service (DoS) attack.
The vulnerability exists due to a use-after-free error in the qemuMonitorUnregister() function in qemuProcessHandleMonitorEOF. An unprivileged client with a read-only connection can trigger the use-after-free error by calling the virConnectGetAllDomainStats API and crash the application.
5) Improper locking (CVE-ID: CVE-2021-4147)
The vulnerability allows a local user to perform a denial of service attack (DoS) on the target system.
The vulnerability exists due to double-locking error in the libvirt libxl driver in libxl/libxl_domain.c. A malicious guest can continuously reboot itself and cause libvirtd on the host to deadlock or crash, resulting in a denial of service condition
6) Improper locking (CVE-ID: CVE-2022-0897)
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).
Remediation
Install update from vendor's website.