First published: Thu Jun 13 2019(Updated: )
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.
Credit: secalert@redhat.com secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/libvirt | <0:4.5.0-10.el7_6.12 | 0:4.5.0-10.el7_6.12 |
redhat/redhat-release-virtualization-host | <0:4.3.4-1.el7e | 0:4.3.4-1.el7e |
redhat/redhat-virtualization-host | <0:4.3.4-20190620.3.el7_6 | 0:4.3.4-20190620.3.el7_6 |
Redhat Libvirt | >=4.0.0<4.10.1 | |
Redhat Libvirt | >=5.0.0<5.4.1 | |
Redhat Enterprise Linux | =7.0 | |
Redhat Enterprise Linux | =8.0 | |
Redhat Enterprise Linux Desktop | =6.0 | |
Redhat Enterprise Linux Desktop | =7.0 | |
Redhat Enterprise Linux Server | =6.0 | |
Redhat Enterprise Linux Server | =7.0 | |
Redhat Enterprise Linux Server Aus | =7.6 | |
Redhat Enterprise Linux Server Eus | =7.6 | |
Redhat Enterprise Linux Server Tus | =7.6 | |
Redhat Enterprise Linux Workstation | =6.0 | |
Redhat Enterprise Linux Workstation | =7.0 | |
Redhat Virtualization | =4.3 | |
ubuntu/libvirt | <4.0.0-1ubuntu8.12 | 4.0.0-1ubuntu8.12 |
ubuntu/libvirt | <4.6.0-2ubuntu3.8 | 4.6.0-2ubuntu3.8 |
ubuntu/libvirt | <5.0.0-1ubuntu2.4 | 5.0.0-1ubuntu2.4 |
ubuntu/libvirt | <5.4.0-0ubuntu3 | 5.4.0-0ubuntu3 |
ubuntu/libvirt | <1.3.1-1ubuntu10.27 | 1.3.1-1ubuntu10.27 |
redhat/libvirt | <4.10.1 | 4.10.1 |
redhat/libvirt | <5.4.1 | 5.4.1 |
debian/libvirt | 5.0.0-4+deb10u1 5.0.0-4+deb10u2 7.0.0-3+deb11u2 9.0.0-4 10.0.0-2 10.2.0-1 |
The Unix permissions of libvirt's read-only socket can be made more restrictive than the default (0777) by editing `/etc/libvirt/libvirtd.conf`. The settings `unix_sock_group = libvirt` and `unix_sock_ro_perms = 0770` will restrict access to only members of `libvirt`, who already have management access to virtual machines.
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
(Appears in the following advisories)
CVE-2019-10167 is a vulnerability in the libvirt API that allows for privilege escalation.
CVE-2019-10167 has a severity value of 8.8, which is considered high.
Versions 4.x.x before 4.10.1 and 5.x.x before 5.4.1 of libvirt are affected.
To fix CVE-2019-10167, update libvirt to version 4.10.1 or higher for 4.x.x series, or version 5.4.1 or higher for 5.x.x series.
You can find more information about CVE-2019-10167 at the following sources: [Red Hat Advisory](https://access.redhat.com/libvirt-privesc-vulnerabilities), [libvirt Git commit](https://libvirt.org/git/?p=libvirt.git;a=commit;h=8afa68bac0cf99d1f8aaa6566685c43c22622f26), [Red Hat Bugzilla](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=1722464).