]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
api: disallow virConnect*HypervisorCPU on read-only connections v4.4-maint
authorJán Tomko <jtomko@redhat.com>
Fri, 14 Jun 2019 07:17:39 +0000 (09:17 +0200)
committerJán Tomko <jtomko@redhat.com>
Mon, 24 Jun 2019 07:57:05 +0000 (09:57 +0200)
These APIs can be used to execute arbitrary emulators.
Forbid them on read-only connections.

Fixes: CVE-2019-10168
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit bf6c2830b6c338b1f5699b095df36f374777b291)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/libvirt-host.c

index 3aaf558cacc789ce58266102f1a37a53b2d81476..cff003109b0130577c2d675c565d037bfe153da5 100644 (file)
@@ -1041,6 +1041,7 @@ virConnectCompareHypervisorCPU(virConnectPtr conn,
 
     virCheckConnectReturn(conn, VIR_CPU_COMPARE_ERROR);
     virCheckNonNullArgGoto(xmlCPU, error);
+    virCheckReadOnlyGoto(conn->flags, error);
 
     if (conn->driver->connectCompareHypervisorCPU) {
         int ret;
@@ -1234,6 +1235,7 @@ virConnectBaselineHypervisorCPU(virConnectPtr conn,
 
     virCheckConnectReturn(conn, NULL);
     virCheckNonNullArgGoto(xmlCPUs, error);
+    virCheckReadOnlyGoto(conn->flags, error);
 
     if (conn->driver->connectBaselineHypervisorCPU) {
         char *cpu;