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.
{ "availability": "No subscription required", "binaries": [ { "binary_name": "libvirt-bin", "binary_version": "1.3.1-1ubuntu10.27" }, { "binary_name": "libvirt-bin-dbgsym", "binary_version": "1.3.1-1ubuntu10.27" }, { "binary_name": "libvirt-dev", "binary_version": "1.3.1-1ubuntu10.27" }, { "binary_name": "libvirt-dev-dbgsym", "binary_version": "1.3.1-1ubuntu10.27" }, { "binary_name": "libvirt-doc", "binary_version": "1.3.1-1ubuntu10.27" }, { "binary_name": "libvirt0", "binary_version": "1.3.1-1ubuntu10.27" }, { "binary_name": "libvirt0-dbg", "binary_version": "1.3.1-1ubuntu10.27" }, { "binary_name": "libvirt0-dbgsym", "binary_version": "1.3.1-1ubuntu10.27" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "libnss-libvirt", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libnss-libvirt-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-bin", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-clients", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-clients-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-gluster", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-gluster-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-rbd", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-rbd-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-sheepdog", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-sheepdog-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-zfs", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-driver-storage-zfs-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-system", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-daemon-system-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-dev", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-doc", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-sanlock", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-sanlock-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-wireshark", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt-wireshark-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt0", "binary_version": "4.0.0-1ubuntu8.12" }, { "binary_name": "libvirt0-dbgsym", "binary_version": "4.0.0-1ubuntu8.12" } ] }