summaryrefslogtreecommitdiffstats
path: root/recipes-extended
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2016-08-16 11:21:35 +0800
committerBruce Ashfield <bruce.ashfield@windriver.com>2016-08-16 11:17:49 -0400
commit42af8a171b6674035559f76488f09ff7bba402b4 (patch)
tree6d0d206c51268e3d6201ed87bece5690758e4fc6 /recipes-extended
parentbdcf476c10805c92fcaf42e42bf024328ac31677 (diff)
downloadmeta-virtualization-42af8a171b6674035559f76488f09ff7bba402b4.tar.gz
libvirt: fix CVE-2016-5008
Backport patch to fix CVE-2016-5008 from: https://libvirt.org/git/?p=libvirt.git;a=commit;h=f32441c Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'recipes-extended')
-rw-r--r--recipes-extended/libvirt/libvirt-1.3.5/0001-qemu-Let-empty-default-VNC-password-work-as-document.patch81
-rw-r--r--recipes-extended/libvirt/libvirt_1.3.5.bb1
2 files changed, 82 insertions, 0 deletions
diff --git a/recipes-extended/libvirt/libvirt-1.3.5/0001-qemu-Let-empty-default-VNC-password-work-as-document.patch b/recipes-extended/libvirt/libvirt-1.3.5/0001-qemu-Let-empty-default-VNC-password-work-as-document.patch
new file mode 100644
index 00000000..1d13dd36
--- /dev/null
+++ b/recipes-extended/libvirt/libvirt-1.3.5/0001-qemu-Let-empty-default-VNC-password-work-as-document.patch
@@ -0,0 +1,81 @@
1Upstream-Status: Backport
2
3Backport patch to fix CVE-2016-5008 from:
4
5https://libvirt.org/git/?p=libvirt.git;a=commit;h=f32441c69bf450d6ac593c3acd621c37e120cdaf
6
7Signed-off-by: Kai Kang <kai.kang@windriver.com>
8---
9From f32441c69bf450d6ac593c3acd621c37e120cdaf Mon Sep 17 00:00:00 2001
10From: Jiri Denemark <jdenemar@redhat.com>
11Date: Tue, 28 Jun 2016 14:39:58 +0200
12Subject: [PATCH] qemu: Let empty default VNC password work as documented
13
14CVE-2016-5008
15
16Setting an empty graphics password is documented as a way to disable
17VNC/SPICE access, but QEMU does not always behaves like that. VNC would
18happily accept the empty password. Let's enforce the behavior by setting
19password expiration to "now".
20
21https://bugzilla.redhat.com/show_bug.cgi?id=1180092
22
23Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
24(cherry picked from commit bb848feec0f3f10e92dd8e5231ae7aa89b5598f3)
25---
26 src/qemu/qemu_hotplug.c | 14 +++++++-------
27 1 file changed, 7 insertions(+), 7 deletions(-)
28
29diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
30index 5f12d77..fda28b0 100644
31--- a/src/qemu/qemu_hotplug.c
32+++ b/src/qemu/qemu_hotplug.c
33@@ -3547,6 +3547,7 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
34 time_t now = time(NULL);
35 char expire_time [64];
36 const char *connected = NULL;
37+ const char *password;
38 int ret = -1;
39 virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
40
41@@ -3554,16 +3555,14 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
42 ret = 0;
43 goto cleanup;
44 }
45+ password = auth->passwd ? auth->passwd : defaultPasswd;
46
47 if (auth->connected)
48 connected = virDomainGraphicsAuthConnectedTypeToString(auth->connected);
49
50 if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
51 goto cleanup;
52- ret = qemuMonitorSetPassword(priv->mon,
53- type,
54- auth->passwd ? auth->passwd : defaultPasswd,
55- connected);
56+ ret = qemuMonitorSetPassword(priv->mon, type, password, connected);
57
58 if (ret == -2) {
59 if (type != VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
60@@ -3571,14 +3570,15 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
61 _("Graphics password only supported for VNC"));
62 ret = -1;
63 } else {
64- ret = qemuMonitorSetVNCPassword(priv->mon,
65- auth->passwd ? auth->passwd : defaultPasswd);
66+ ret = qemuMonitorSetVNCPassword(priv->mon, password);
67 }
68 }
69 if (ret != 0)
70 goto end_job;
71
72- if (auth->expires) {
73+ if (password[0] == '\0') {
74+ snprintf(expire_time, sizeof(expire_time), "now");
75+ } else if (auth->expires) {
76 time_t lifetime = auth->validTo - now;
77 if (lifetime <= 0)
78 snprintf(expire_time, sizeof(expire_time), "now");
79--
802.9.0
81
diff --git a/recipes-extended/libvirt/libvirt_1.3.5.bb b/recipes-extended/libvirt/libvirt_1.3.5.bb
index 7ff2c5f6..6222b697 100644
--- a/recipes-extended/libvirt/libvirt_1.3.5.bb
+++ b/recipes-extended/libvirt/libvirt_1.3.5.bb
@@ -34,6 +34,7 @@ SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz;name=libvirt \
34 file://Revert-build-add-prefix-to-SYSTEMD_UNIT_DIR.patch \ 34 file://Revert-build-add-prefix-to-SYSTEMD_UNIT_DIR.patch \
35 file://install-missing-file.patch \ 35 file://install-missing-file.patch \
36 file://0001-nsslinktest-also-build-virAtomic.h.patch \ 36 file://0001-nsslinktest-also-build-virAtomic.h.patch \
37 file://0001-qemu-Let-empty-default-VNC-password-work-as-document.patch \
37 " 38 "
38 39
39SRC_URI[libvirt.md5sum] = "f9dc1e63d559eca50ae0ee798a4c6c6d" 40SRC_URI[libvirt.md5sum] = "f9dc1e63d559eca50ae0ee798a4c6c6d"