]> xenbits.xensource.com Git - libvirt.git/commitdiff
api: disallow virConnect*HypervisorCPU on read-only connections
authorJán Tomko <jtomko@redhat.com>
Fri, 14 Jun 2019 07:17:39 +0000 (09:17 +0200)
committerJán Tomko <jtomko@redhat.com>
Thu, 20 Jun 2019 11:50:56 +0000 (13:50 +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>
src/libvirt-host.c

index e20d6ee25033e87923923b881a682a1ebdafcdc6..2978825d22b90226b96f03161a8bde23789e3445 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;