Cloudanix VulnDB

CVE-2024-8235

Medium · 6.2

CVSS

6.2

EPSS

0.2%

Published

Aug 30, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the software that manages virtual machines can let someone with limited access cause the management service to stop working, requiring a restart to recover.

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

What it actually does

A NULL-pointer dereference in the refactored interface listing code path causes virtinterfaced to crash when an API request results in a zero-byte allocation on affected platforms.

Why it matters to the business

Management of virtual machines becomes unavailable until the daemon is restarted, interrupting administrative operations and potentially affecting dependent infrastructure services.

How an attack unfolds

An unauthenticated or low-privileged client connects to the read-only libvirt socket and invokes one of the affected list-interface APIs; on platforms where the allocation returns NULL, the subsequent dereference crashes the daemon.

How to fix it

Upgrade libvirt to the commit 7d72b18017a8173b7d359025d7aeff4f4e527099 or later; rebuild and redeploy affected packages. Restart virtinterfaced after the update.

How to confirm the fix worked

Confirm the running libvirt binary contains commit 7d72b18017a8173b7d359025d7aeff4f4e527099, then verify that interface-listing calls no longer cause daemon crashes under the zero-allocation condition.

Typical attack path

  1. Locate and connect to the libvirt read-only UNIX socket
  2. Issue an API call that enumerates network interfaces
  3. Trigger the zero-allocation corner case in the refactored listing logic
  4. Cause virtinterfaced to dereference NULL and terminate

How to detect it

Search system and libvirt logs for unexpected virtinterfaced process terminations or segmentation faults occurring shortly after interface enumeration requests on the read-only socket.

  • virtinterfaced: segfault at
  • libvirt: unexpected NULL pointer in interface listing

What your security team should do

  • Apply the fixed commit or packaged update to all libvirt hosts
  • Restrict access to the read-only socket to trusted management clients only
  • Monitor virtinterfaced process health and implement automatic restart on crash
  • Review socket permissions and consider disabling unused libvirt APIs

The record

A flaw was found in libvirt. A refactor of the code fetching the list of interfaces for multiple APIs introduced a corner case on platforms where allocating 0 bytes of memory results in a NULL pointer. This corner case would lead to a NULL-pointer dereference and subsequent crash of virtinterfaced. This issue could allow clients connecting to the read-only socket to crash the virtinterfaced daemon.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 libvirt 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-client 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-client-qemu 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-common 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-config-network 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-config-nwfilter 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-interface 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-network 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-nodedev 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-nwfilter 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-qemu 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-secret 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-core 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-disk 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-iscsi 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-logical 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-mpath 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-rbd 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-scsi 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-kvm 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-lock 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-log 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-plugin-lockd 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-plugin-sanlock 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-daemon-proxy 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-devel 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-docs 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-libs 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-nss 0 10.5.0-7.el9_5.alma.1
AlmaLinux:9 libvirt-ssh-proxy 0 10.5.0-7.el9_5.alma.1
Debian:13 libvirt 0 10.7.0-1
Red Hat:enterprise_linux:9::appstream libvirt 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-client 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-client-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-client-qemu 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-common 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-common-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-config-network 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-config-nwfilter 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-interface 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-interface-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-network 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-network-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nodedev 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nodedev-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nwfilter 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nwfilter-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-qemu 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-qemu-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-secret 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-secret-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-core 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-core-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-disk 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-disk-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-iscsi 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-iscsi-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-logical 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-logical-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-mpath 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-mpath-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-rbd 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-rbd-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-scsi 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-scsi-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-kvm 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-lock 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-lock-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-log 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-log-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-lockd 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-lockd-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-sanlock 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-sanlock-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-proxy 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-daemon-proxy-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-debugsource 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-devel 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-docs 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-libs 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-libs-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-nss 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-nss-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-ssh-proxy 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-ssh-proxy-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::appstream libvirt-wireshark-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-client 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-client-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-client-qemu 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-common 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-common-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-config-network 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-config-nwfilter 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-interface 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-interface-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-network 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-network-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nodedev 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nodedev-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nwfilter 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nwfilter-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-qemu 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-qemu-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-secret 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-secret-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-core 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-core-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-disk 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-disk-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-iscsi 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-iscsi-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-logical 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-logical-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-mpath 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-mpath-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-rbd 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-rbd-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-scsi 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-scsi-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-kvm 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-lock 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-lock-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-log 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-log-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-lockd 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-lockd-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-sanlock 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-sanlock-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-proxy 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-daemon-proxy-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-debugsource 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-devel 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-docs 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-libs 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-libs-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-nss 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-nss-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-ssh-proxy 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-ssh-proxy-debuginfo 0 0:10.5.0-7.el9_5
Red Hat:enterprise_linux:9::crb libvirt-wireshark-debuginfo 0 0:10.5.0-7.el9_5
Rocky Linux:9 libvirt 0 0:10.5.0-7.4.el9_5
Ubuntu:20.04:LTS libvirt 0 6.0.0-0ubuntu8.20
Ubuntu:22.04:LTS libvirt 0 8.0.0-1ubuntu7.10
Ubuntu:24.04:LTS libvirt 0 10.0.0-2ubuntu8.3
Ubuntu:24.10 libvirt 0 10.6.0-1ubuntu3
openSUSE:Tumbleweed libvirt 0 10.7.0-1.1

Related vulnerabilities