The virConnectGetDomainCapabilities() libvirt API 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.
Acknowledgments: Name: Jan Tomko (Red Hat)
Statement: * This vulnerability requires access to the libvirt socket, normally in /var/run/libvirt/libvirt_sock_ro. Typically in hypervisor environments, local user accounts are not supported so no untrusted users should be able to access this socket. * Red Hat Gluster Storage 3 is not affected by this vulnerability as libvirtd daemon is not shipped in Gluster.
External References: https://access.redhat.com/libvirt-privesc-vulnerabilities
Mitigation: 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.
Upstream patch: https://libvirt.org/git/?p=libvirt.git;a=commit;h=8afa68bac0cf99d1f8aaa6566685c43c22622f26
Created libvirt tracking bugs for this issue: Affects: fedora-all [bug 1722464] Created mingw-libvirt tracking bugs for this issue: Affects: fedora-all [bug 1722468]
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2019:1579 https://access.redhat.com/errata/RHSA-2019:1579
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2019:1580 https://access.redhat.com/errata/RHSA-2019:1580
This issue has been addressed in the following products: Red Hat Virtualization 4 for Red Hat Enterprise Linux 7 Via RHSA-2019:1699 https://access.redhat.com/errata/RHSA-2019:1699
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Advanced Virtualization Via RHSA-2019:1762 https://access.redhat.com/errata/RHSA-2019:1762
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2019-10167