CVE-2019-10167 Command injection in libvirt

High 8.8 Published Updated

Read-only clients can execute arbitrary code with libvirtd privileges by specifying a malicious emulator binary path in the domain capabilities API.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2019-10167?

CVE-2019-10167 is a high-severity command injection vulnerability in Redhat Enterprise Linux, published on 2 Aug 2019. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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. Since v1.2.19, libvirt will execute that program to probe the domain's capabilities. Read-only clients could specify an arbitrary path for this argument, causing libvirtd to execute a crafted executable with its own privileges.

Weakness: CWE-862, CWE-22, CWE-284, CWE-250

Which versions are affected by CVE-2019-10167?

It affects 9 products.

Products include Redhat Enterprise Linux, Redhat Enterprise Linux Desktop, Redhat Enterprise Linux Server, Redhat Enterprise Linux Server Aus, Redhat Enterprise Linux Server Eus, Redhat Enterprise Linux Server Tus and 3 more.

How do I fix CVE-2019-10167?

Upgrade to a fixed version.

Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.

Is CVE-2019-10167 being exploited?

There is no known exploitation of CVE-2019-10167 in the wild and no public exploit code.

All Redhat Enterprise Linux vulnerabilities

Sources

Also known as ALPINE-CVE-2019-10167, DEBIAN-CVE-2019-10167, GHSA-5p5j-3wqp-w634, UBUNTU-CVE-2019-10167.

Is CVE-2019-10167 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free