Libvirt Security Notice: LSN-2016-0001 ====================================== Summary: Authentication disabled when setting empty VNC password Reported on: 20130531 Published on: 20130531 Fixed on: 20160630 Reported by: Vivian Zhang Christoph Anton Mitterer Patched by: Jiri Denemark See also: CVE-2016-5008 Description ----------- An empty password set for the VNC server is documented as preventing all client connections. This is the behaviour when QEMU virtual machines are first started with the 'password' flag given to the -vnc argument and when setting the password with the 'change vnc' monitor command. When libvirt switched to using 'set_password' QMP command though using an empty password had the effect of disabling password checking and thus allowing any client connection with no authentication check. Impact ------ When the password on a VNC server is set to the empty string, authentication on the VNC server will be disabled allowing any user to connect. An application would meanwhile expect that the empty string would prevent all users from connecting Workaround ---------- The VNC password authentication scheme is generally considered to offer inadequate security, so its use is not recommended at all, regardless of this vulnerability. Applications and administrators are thus encouraged to make use of the VNC TLS extension together with SASL for strong authentication. Affected product ---------------- Name: libvirt Repository: https://gitlab.com/libvirt/libvirt Branch: master Broken in: v0.8.8 Broken in: v0.9.0 Broken in: v0.9.1 Broken in: v0.9.2 Broken in: v0.9.3 Broken in: v0.9.4 Broken in: v0.9.5 Broken in: v0.9.6 Broken in: v0.9.7 Broken in: v0.9.8 Broken in: v0.9.9 Broken in: v0.9.10 Broken in: v0.9.11 Broken in: v0.9.12 Broken in: v0.9.13 Broken in: v0.10.0 Broken in: v0.10.1 Broken in: v0.10.2 Broken in: v1.0.0 Broken in: v1.0.1 Broken in: v1.0.2 Broken in: v1.0.3 Broken in: v1.0.4 Broken in: v1.0.5 Broken in: v1.0.6 Broken in: v1.1.0 Broken in: v1.1.1 Broken in: v1.1.2 Broken in: v1.1.3 Broken in: v1.1.4 Broken in: v1.2.0 Broken in: v1.2.1 Broken in: v1.2.2 Broken in: v1.2.3 Broken in: v1.2.4 Broken in: v1.2.5 Broken in: v1.2.6 Broken in: v1.2.7 Broken in: v1.2.8 Broken in: v1.2.9 Broken in: v1.2.10 Broken in: v1.2.11 Broken in: v1.2.12 Broken in: v1.2.13 Broken in: v1.2.14 Broken in: v1.2.15 Broken in: v1.2.16 Broken in: v1.2.17 Broken in: v1.2.18 Broken in: v1.2.19 Broken in: v1.2.20 Broken in: v1.2.21 Broken in: v1.3.0 Broken in: v1.3.1 Broken in: v1.3.2 Broken in: v1.3.3 Broken in: v1.3.4 Broken in: v1.3.5 Fixed in: v2.0.0 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: bb848feec0f3f10e92dd8e5231ae7aa89b5598f3 Branch: v0.9.6-maint Broken in: v0.9.6.1 Broken in: v0.9.6.2 Broken in: v0.9.6.3 Broken in: v0.9.6.4 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Branch: v0.9.11-maint Broken in: v0.9.11.1 Broken in: v0.9.11.2 Broken in: v0.9.11.3 Broken in: v0.9.11.4 Broken in: v0.9.11.5 Broken in: v0.9.11.6 Broken in: v0.9.11.7 Broken in: v0.9.11.8 Broken in: v0.9.11.9 Broken in: v0.9.11.10 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Branch: v0.9.12-maint Broken in: v0.9.12.1 Broken in: v0.9.12.2 Broken in: v0.9.12.3 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: eea38b5922b7daff91fd146869a337287e77065e Branch: v0.10.2-maint Broken in: v0.10.2.1 Broken in: v0.10.2.2 Broken in: v0.10.2.3 Broken in: v0.10.2.4 Broken in: v0.10.2.5 Broken in: v0.10.2.6 Broken in: v0.10.2.7 Broken in: v0.10.2.8 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 418a165da6e61ab548349408e4ba0c0d612ef5af Branch: v1.0.0-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 7ea825672e9b9ab5f2986f4f3c2b2b3f254f1485 Branch: v1.0.1-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 36386a9356ca161a325af51a0b0b555090afebff Branch: v1.0.2-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 139a4265774b7aa194f8479a82188bc1337cd7a4 Branch: v1.0.3-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 3779715e8d4522f1f5de20746fd96bbe59167d1a Branch: v1.0.4-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: a3954cc79358a990720fab36b4feaecd0266c5c6 Branch: v1.0.5-maint Broken in: v1.0.5.1 Broken in: v1.0.5.2 Broken in: v1.0.5.3 Broken in: v1.0.5.4 Broken in: v1.0.5.5 Broken in: v1.0.5.6 Broken in: v1.0.5.7 Broken in: v1.0.5.8 Broken in: v1.0.5.9 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 6fd8d6b655b925df306652d525e388860704d67d Branch: v1.0.6-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: c8df12a1394d75e12da09ec4189eea360feb059d Branch: v1.1.0-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 1338fceea2f16c20b2aa91515918c7cc977d5f29 Branch: v1.1.1-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 6a11fd52b480bb47f8cc988763333788201ab1ab Branch: v1.1.2-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 832cc0eff8feb2f14613a75b0e1d5671735d2094 Branch: v1.1.3-maint Broken in: v1.1.3.1 Broken in: v1.1.3.2 Broken in: v1.1.3.3 Broken in: v1.1.3.4 Broken in: v1.1.3.5 Broken in: v1.1.3.6 Broken in: v1.1.3.7 Broken in: v1.1.3.8 Broken in: v1.1.3.9 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 39419b37c2049cfa36110d75c9071f8a72fa238d Branch: v1.1.4-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 916f5c9d1f6b2145dac93311925db3eb93d3e5aa Branch: v1.2.0-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 20397434fc036dead7e5c375aec7483334396178 Branch: v1.2.1-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: e4ecee35aed931cc10a7c84ec9829ccefddecefa Branch: v1.2.2-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 4816c5370ecf9ed412068c6c3795a2fd71ebc354 Branch: v1.2.3-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 6f7cfb5ba21d5e710a88c2e0fcbc150b59ac510c Branch: v1.2.4-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: dd9cca35bce5bea871f96264cfe9f629566f0b12 Branch: v1.2.5-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: f39de9abfd4b8b19a012169355a0e73dae427bd0 Branch: v1.2.6-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: d933f68ee660566b52cd90330aee0d5f414636a4 Branch: v1.2.7-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 0d052f8abd8bc38ac982e88294737c6ddf3e6484 Branch: v1.2.8-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 05d238be999f6488b6f24cbbff3dada0560d97bf Branch: v1.2.9-maint Broken in: v1.2.9.1 Broken in: v1.2.9.2 Broken in: v1.2.9.3 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: f32441c69bf450d6ac593c3acd621c37e120cdaf Branch: v1.2.10-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 33802d62af95fd7a4e86f2755efe94af59158fea Branch: v1.2.11-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: b7fbb52ac8d1198ba42b3d1f6cc3079497eea704 Branch: v1.2.12-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 819c14190cbea4ef1f99acfbd5e0389899142bd5 Branch: v1.2.13-maint Broken in: v1.2.13.1 Broken in: v1.2.13.2 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 35c2bd75f2c8312687f965a80cc2b6255daf6575 Branch: v1.2.14-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: ea59deeeead2e4894f3651977aa6114849b857fb Branch: v1.2.15-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 9e181d7f6c76f9a84e2c8638722bb98ac61b6baa Branch: v1.2.16-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: b869aab71102c41247a3fede506e88700bb95e55 Branch: v1.2.17-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 49fa383bb03328f7def85e249e252abe5e602e39 Branch: v1.2.18-maint Broken in: v1.2.18.1 Broken in: v1.2.18.2 Broken in: v1.2.18.3 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: caa4c280cd34f0ff0fb9a3879ccc0ceaffc3b802 Branch: v1.2.19-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 38d5c57b9a89c84a19bddcafca9230e69fc78171 Branch: v1.2.20-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 8c30687b71ccb635c110404f0ef1caf2dbccf2e0 Branch: v1.2.21-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 9329ca10f121b737fbdcf3070877e3dbe50f9fdf Branch: v1.3.0-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: d49b1dfcb59af791f78cd699134cfe80bd6f13ab Branch: v1.3.1-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 2d5370eba6b52f44cf832eba28f162c55331a47c Branch: v1.3.2-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: c9317fcdd431cff4b17aa72cacfc6110f046ea77 Branch: v1.3.3-maint Broken in: v1.3.3.1 Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 881441f84a30cd3921df313a982f7162d7ca04f4 Branch: v1.3.4-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 040c033292ad566d2ef6662c88defd511a54c13c Branch: v1.3.5-maint Broken by: 9d73efdbe3ea61a13a11fdc24a2cb530eaa0b66f Fixed by: 46d27cde24b495320dc28bbf79134e0ce48c11b8