Cloudanix VulnDB

CVE-2023-3750

Medium · 5.3

CVSS

5.3

EPSS

0.8%

Published

Jul 24, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the software that manages virtual machines can let users with limited access crash the service, briefly stopping virtual servers from running.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
High
Impact
Denial Of Service
Component
Library
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Race condition in virStoragePoolObjListSearch fails to return a locked pool object, allowing concurrent threads to access the same storage pool without synchronization and triggering a denial of service crash of the libvirt daemon when accessed via the read-only socket.

Why it matters to the business

Unexpected crashes of the virtualization management service can interrupt virtual machine lifecycle operations, increase administrative overhead for restarts, and reduce availability of hosted workloads on affected Red Hat Enterprise Linux systems.

How an attack unfolds

An attacker with access to the libvirt read-only UNIX socket issues multiple concurrent storage pool queries that hit the flawed list-search path, causing two threads to race for the same unlocked object and forcing the daemon to terminate.

How to fix it

Upgrade libvirt packages to a version containing the fix for the race condition; until patches are available, restrict read-only socket permissions to trusted clients only and consider disabling unused storage pool functionality.

How to confirm the fix worked

Verify the installed libvirt version against vendor advisories, review source for proper locking around virStoragePoolObjListSearch, and perform concurrent client testing against the read-only socket to confirm absence of crashes.

Typical attack path

  1. Obtain access to the libvirt read-only socket
  2. Issue repeated concurrent storage-pool enumeration requests
  3. Trigger simultaneous locking attempts on the same pool object
  4. Cause daemon crash and denial of service

How to detect it

Review libvirt daemon logs and system crash reports for abrupt terminations following storage-pool operations; correlate timestamps of read-only socket connections with any observed restarts or segmentation faults.

What your security team should do

  • Apply available libvirt updates as soon as released by Red Hat
  • Tighten UNIX socket permissions for the read-only listener
  • Monitor libvirt daemon stability and restart procedures
  • Audit which systems expose the read-only socket to untrusted networks

The record

A flaw was found in libvirt. The virStoragePoolObjListSearch function does not return a locked pool as expected, resulting in a race condition and denial of service when attempting to lock the same object from another thread. This issue could allow clients connecting to the read-only socket to crash the libvirt daemon.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 libvirt 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-client 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-client-qemu 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-common 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-config-network 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-config-nwfilter 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-interface 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-network 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-nodedev 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-nwfilter 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-qemu 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-secret 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-core 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-disk 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-iscsi 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-logical 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-mpath 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-rbd 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-scsi 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-kvm 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-lock 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-log 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-plugin-lockd 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-plugin-sanlock 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-daemon-proxy 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-devel 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-docs 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-libs 0 9.5.0-7.el9_3.alma.1
AlmaLinux:9 libvirt-nss 0 9.5.0-7.el9_3.alma.1
Debian:12 libvirt 0 9.0.0-4+deb12u1
Debian:13 libvirt 0 9.6.0-1
Red Hat:enterprise_linux:9::appstream libvirt 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-client 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-client-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-client-qemu 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-common 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-common-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-config-network 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-config-nwfilter 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-interface 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-interface-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-network 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-network-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nodedev 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nodedev-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nwfilter 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nwfilter-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-qemu 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-qemu-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-secret 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-secret-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-core 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-core-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-disk 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-disk-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-iscsi 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-iscsi-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-logical 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-logical-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-mpath 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-mpath-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-rbd 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-rbd-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-scsi 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-scsi-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-kvm 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-lock 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-lock-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-log 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-log-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-lockd 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-lockd-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-sanlock 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-sanlock-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-proxy 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-daemon-proxy-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-debugsource 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-devel 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-docs 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-libs 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-libs-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-nss 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-nss-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::appstream libvirt-wireshark-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-client 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-client-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-client-qemu 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-common 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-common-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-config-network 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-config-nwfilter 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-interface 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-interface-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-network 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-network-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nodedev 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nodedev-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nwfilter 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nwfilter-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-qemu 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-qemu-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-secret 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-secret-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-core 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-core-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-disk 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-disk-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-iscsi 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-iscsi-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-logical 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-logical-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-mpath 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-mpath-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-rbd 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-rbd-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-scsi 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-scsi-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-kvm 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-lock 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-lock-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-log 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-log-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-lockd 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-lockd-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-sanlock 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-sanlock-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-proxy 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-daemon-proxy-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-debugsource 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-devel 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-docs 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-libs 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-libs-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-nss 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-nss-debuginfo 0 0:9.5.0-7.el9_3
Red Hat:enterprise_linux:9::crb libvirt-wireshark-debuginfo 0 0:9.5.0-7.el9_3
SUSE:Linux Enterprise Module for Basesystem 15 SP5 libvirt 0 9.0.0-150500.6.11.1
SUSE:Linux Enterprise Module for Server Applications 15 SP5 libvirt 0 9.0.0-150500.6.11.1
Ubuntu:20.04:LTS libvirt 0 6.0.0-0ubuntu8.16
Ubuntu:22.04:LTS libvirt 0 8.0.0-1ubuntu7.6
openSUSE:Leap 15.5 libvirt 0 9.0.0-150500.6.11.1
openSUSE:Tumbleweed libvirt 0 9.5.0-2.1

Related vulnerabilities