Patches are pushed according to Eric's ACK on the security list.
Peter Krempa (2):
CVE-2015-0236: qemu: Check ACLs when dumping security info from save
image
CVE-2015-0236: qemu: Check ACLs when dumping security info from
snapshots
src/qemu/qemu_driver.c | 4 ++--
src/remote/remote_protocol.x | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
--
2.2.1
Show replies by date
The ACL check didn't check the VIR_DOMAIN_XML_SECURE flag and the
appropriate permission for it.
---
src/qemu/qemu_driver.c | 2 +-
src/remote/remote_protocol.x | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 5994558..c9110f0 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -6031,7 +6031,7 @@ qemuDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *path,
if (fd < 0)
goto cleanup;
- if (virDomainSaveImageGetXMLDescEnsureACL(conn, def) < 0)
+ if (virDomainSaveImageGetXMLDescEnsureACL(conn, def, flags) < 0)
goto cleanup;
ret = qemuDomainDefFormatXML(driver, def, flags);
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index d91fbe0..15694fa 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -4819,6 +4819,7 @@ enum remote_procedure {
* @generate: both
* @priority: high
* @acl: domain:read
+ * @acl: domain:read_secure:VIR_DOMAIN_XML_SECURE
*/
REMOTE_PROC_DOMAIN_SAVE_IMAGE_GET_XML_DESC = 235,
--
2.2.1
The ACL check didn't check the VIR_DOMAIN_XML_SECURE flag and the
appropriate permission for it. Found via code inspection while fixing
permissions for save images.
---
src/qemu/qemu_driver.c | 2 +-
src/remote/remote_protocol.x | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index c9110f0..bc6aae4 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -14406,7 +14406,7 @@ qemuDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
if (!(vm = qemuDomObjFromSnapshot(snapshot)))
return NULL;
- if (virDomainSnapshotGetXMLDescEnsureACL(snapshot->domain->conn, vm->def)
< 0)
+ if (virDomainSnapshotGetXMLDescEnsureACL(snapshot->domain->conn, vm->def,
flags) < 0)
goto cleanup;
if (!(snap = qemuSnapObjFromSnapshot(vm, snapshot)))
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 15694fa..c8162a5 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -4489,6 +4489,7 @@ enum remote_procedure {
* @generate: both
* @priority: high
* @acl: domain:read
+ * @acl: domain:read_secure:VIR_DOMAIN_XML_SECURE
*/
REMOTE_PROC_DOMAIN_SNAPSHOT_GET_XML_DESC = 186,
--
2.2.1