Cloudanix VulnDB

CVE-2024-1441

Medium · 5.5

CVSS

5.5

EPSS

0.4%

Published

Mar 11, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the software that manages virtual machines can let a regular user on the same computer crash the management service, temporarily stopping virtual machines from being controlled or monitored.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Off-by-one error in udevListInterfacesByStatus() allows an unprivileged local client to supply crafted data that overflows the bounds of the names array, crashing the libvirt daemon.

Why it matters to the business

Sudden loss of virtualization management and guest control on any host running the affected libvirt daemon; repeated crashes can disrupt automated provisioning, live migration, and monitoring workflows until the service is restarted.

How an attack unfolds

An attacker with a local account on a system hosting libvirt sends a specially crafted request to the daemon that causes the number of reported interfaces to exceed the size of the names array; the resulting off-by-one write triggers a crash, achieving denial of service without requiring elevated privileges.

How to fix it

Upgrade libvirt to a version containing the corrected udevListInterfacesByStatus() implementation; until patches are available, restrict local access to the libvirt socket and consider rate-limiting or sandboxing untrusted clients that can connect to the daemon.

How to confirm the fix worked

Confirm the installed libvirt package version is newer than the vulnerable release; attempt to reproduce the crash with a test client that supplies an oversized interface list and verify the daemon remains stable.

Typical attack path

  1. Obtain a local shell on a host running the libvirt daemon
  2. Craft a request that triggers udevListInterfacesByStatus() with more interfaces than the names array can hold
  3. Send the request over the local libvirt socket or API
  4. Observe daemon crash and restart loop

How to detect it

Monitor system and libvirt logs for repeated daemon crashes or segmentation faults immediately after API calls involving interface enumeration; look for entries containing udevListInterfacesByStatus or abnormal termination of libvirtd.

  • libvirtd: segfault at
  • udevListInterfacesByStatus
  • libvirt daemon crashed

What your security team should do

  • Apply the vendor-supplied libvirt update as soon as it becomes available
  • Restrict local accounts that can connect to the libvirt socket to the minimum necessary set
  • Enable process monitoring and automatic restart for the libvirtd service
  • Add crash-log alerts for libvirtd to the SOC queue

The record

An off-by-one error flaw was found in the udevListInterfacesByStatus() function in libvirt when the number of interfaces exceeds the size of the `names` array. This issue can be reproduced by sending specially crafted data to the libvirt daemon, allowing an unprivileged client to perform a denial of service attack by causing the libvirt daemon to crash.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 libvirt 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-client 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-client-qemu 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-common 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-config-network 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-config-nwfilter 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-interface 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-network 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-nodedev 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-nwfilter 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-qemu 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-secret 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-core 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-disk 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-iscsi 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-logical 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-mpath 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-rbd 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-driver-storage-scsi 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-kvm 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-lock 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-log 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-plugin-lockd 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-plugin-sanlock 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-daemon-proxy 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-devel 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-docs 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-libs 0 10.0.0-6.2.el9_4.alma.1
AlmaLinux:9 libvirt-nss 0 10.0.0-6.2.el9_4.alma.1
Debian:10 libvirt 0 5.0.0-4+deb10u2
Debian:11 libvirt 0 7.0.0-3+deb11u3
Debian:12 libvirt 0 9.0.0-4+deb12u1
Debian:13 libvirt 0 10.1.0-1
Red Hat:enterprise_linux:9::appstream libvirt 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-client 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-client-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-client-qemu 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-common 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-common-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-config-network 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-config-nwfilter 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-interface 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-interface-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-network 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-network-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nodedev 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nodedev-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nwfilter 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-nwfilter-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-qemu 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-qemu-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-secret 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-secret-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-core 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-core-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-disk 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-disk-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-iscsi 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-iscsi-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-logical 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-logical-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-mpath 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-mpath-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-rbd 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-rbd-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-scsi 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-driver-storage-scsi-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-kvm 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-lock 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-lock-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-log 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-log-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-lockd 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-lockd-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-sanlock 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-plugin-sanlock-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-proxy 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-daemon-proxy-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-debugsource 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-devel 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-docs 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-libs 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-libs-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-nss 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-nss-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::appstream libvirt-wireshark-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-client 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-client-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-client-qemu 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-common 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-common-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-config-network 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-config-nwfilter 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-interface 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-interface-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-network 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-network-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nodedev 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nodedev-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nwfilter 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-nwfilter-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-qemu 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-qemu-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-secret 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-secret-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-core 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-core-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-disk 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-disk-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-iscsi 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-iscsi-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-logical 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-logical-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-mpath 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-mpath-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-rbd 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-rbd-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-scsi 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-driver-storage-scsi-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-kvm 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-lock 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-lock-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-log 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-log-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-lockd 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-lockd-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-sanlock 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-plugin-sanlock-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-proxy 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-daemon-proxy-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-debugsource 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-devel 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-docs 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-libs 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-libs-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-nss 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-nss-debuginfo 0 0:10.0.0-6.2.el9_4
Red Hat:enterprise_linux:9::crb libvirt-wireshark-debuginfo 0 0:10.0.0-6.2.el9_4
Rocky Linux:9 libvirt 0 0:10.0.0-6.2.el9_4
SUSE:Linux Enterprise Micro 5.5 libvirt 0 9.0.0-150500.6.20.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 libvirt 0 9.0.0-150500.6.20.1
SUSE:Linux Enterprise Module for Server Applications 15 SP5 libvirt 0 9.0.0-150500.6.20.1
SUSE:Linux Enterprise Server 12 SP5 libvirt 0 5.1.0-13.39.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 libvirt 0 5.1.0-13.39.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 libvirt 0 5.1.0-13.39.1
Ubuntu:16.04:LTS libvirt 0 No fix
Ubuntu:18.04:LTS libvirt 0 No fix
Ubuntu:20.04:LTS libvirt 0 6.0.0-0ubuntu8.19
Ubuntu:22.04:LTS libvirt 0 8.0.0-1ubuntu7.10
Ubuntu:23.10 libvirt 0 9.6.0-1ubuntu1.1
Ubuntu:24.04:LTS libvirt 0 10.0.0-2ubuntu8.1
Ubuntu:Pro:14.04:LTS libvirt 0 No fix
Ubuntu:Pro:16.04:LTS libvirt 0 No fix
Ubuntu:Pro:18.04:LTS libvirt 0 No fix
openSUSE:Leap 15.5 libvirt 0 9.0.0-150500.6.20.1
openSUSE:Tumbleweed libvirt 0 10.1.0-1.1

Related vulnerabilities