From: Ján Tomko Date: Fri, 14 Jun 2019 07:17:39 +0000 (+0200) Subject: api: disallow virConnect*HypervisorCPU on read-only connections X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fv4.6-maint;p=thirdparty%2Flibvirt.git api: disallow virConnect*HypervisorCPU on read-only connections 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 Reviewed-by: Daniel P. Berrangé (cherry picked from commit bf6c2830b6c338b1f5699b095df36f374777b291) Signed-off-by: Ján Tomko --- diff --git a/src/libvirt-host.c b/src/libvirt-host.c index e20d6ee250..2978825d22 100644 --- a/src/libvirt-host.c +++ b/src/libvirt-host.c @@ -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;