Critical Vulnerability in libvirt: Arbitrary Code Execution Risk

libvirt Updated 02 Oct 2025

Summary

02/08/2019
N/A
Yes i
High
7.8

ALPINE-CVE-2019-10167: The virConnectGetDomainCapabilities() libvirt API, versions 4.x.x before 4.10.1 and 5.x.x before 5.4.1, accepts an "emulatorbin" argument to specify the program providing emulation for a domain. Affects libvirt versions < 5.5.0-r0. Fixed in 5.5.0-r0. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

libvirt is an open-source API, daemon, and management tool for managing platform virtualization. It provides a consistent way to interact with various virtualization technologies, allowing users to manage virtual machines, storage, and networks. The libvirt library is widely used in cloud computing and virtualization environments. However, it has been found to have a critical vulnerability that can lead to arbitrary code execution if exploited.

Vulnerability Detail

The virConnectGetDomainCapabilities() API in libvirt, versions 4.x.x before 4.10.1 and 5.x.x before 5.4.1, accepts an 'emulatorbin' argument that specifies the program providing emulation for a domain. Since version 1.2.19, libvirt executes this program to probe the domain's capabilities. This allows read-only clients to specify an arbitrary path for this argument, which can lead to the execution of a crafted executable with the privileges of the libvirtd process. This vulnerability poses a significant risk as it can be exploited to execute malicious code on the host system.

How To Fix

Minimum fixed version

5.5.0-r0

This is the first release that contains the fix.

sudo apk add --upgrade libvirt

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, restrict access to the libvirt API to trusted users only. This can be done by configuring the appropriate permissions and ensuring that only authorized clients can interact with the libvirt daemon.

Conclusion

The libvirt vulnerability identified as CVE-2019-10167 poses a significant risk due to its potential for arbitrary code execution. It is crucial for users to update to the patched version 5.5.0-r0 or later to safeguard their systems. Additionally, implementing access restrictions can serve as a temporary workaround while updates are applied.

See every vulnerability recorded for libvirt →

Share this vulnerability

FAQ

The CVSS score of this vulnerability is 7.8, indicating a high severity level.

libvirt versions 4.x.x before 4.10.1 and 5.x.x before 5.4.1 are affected by this vulnerability.

You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without requiring any signup.

If exploited, this vulnerability can lead to arbitrary code execution on the host system, potentially compromising the entire virtualization environment.

Yes, you can mitigate the risk by restricting access to the libvirt API to only trusted users and clients.

Related vulnerabilities

Recent vulnerabilities recorded for libvirt.

How To Fix

Minimum fixed version

5.5.0-r0

This is the first release that contains the fix.

sudo apk add --upgrade libvirt

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback