SB2022050308 - Ubuntu update for libvirt 



SB2022050308 - Ubuntu update for libvirt

Published: May 3, 2022

Security Bulletin ID SB2022050308
Severity
Medium
Patch available
YES
Number of vulnerabilities 6
Exploitation vector Remote access
Highest impact Data manipulation

Breakdown by Severity

Medium 33% Low 67%
  • 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.