mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +00:00
e4cb850081
Inspired by the recent GIT / Mercurial security flaws (http://blog.recurity-labs.com/2017-08-10/scm-vulns), consider someone/something manages to feed libvirt a bogus URI such as: virsh -c qemu+ssh://-oProxyCommand=gnome-calculator/system In this case, the hosname "-oProxyCommand=gnome-calculator" will get interpreted as an argument to ssh, not a hostname. Fortunately, due to the set of args we have following the hostname, SSH will then interpret our bit of shell script that runs 'nc' on the remote host as a cipher name, which is clearly invalid. This makes ssh exit during argv parsing and so it never tries to run gnome-calculator. We are lucky this time, but lets be more paranoid, by using '--' to explicitly tell SSH when it has finished seeing command line options. This forces it to interpret "-oProxyCommand=gnome-calculator" as a hostname, and thus see a fail from hostname lookup. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> |
||
---|---|---|
.. | ||
gendispatch.pl | ||
genprotocol.pl | ||
gensystemtap.pl | ||
virkeepalive.c | ||
virkeepalive.h | ||
virkeepaliveprotocol.x | ||
virnetclient.c | ||
virnetclient.h | ||
virnetclientprogram.c | ||
virnetclientprogram.h | ||
virnetclientstream.c | ||
virnetclientstream.h | ||
virnetdaemon.c | ||
virnetdaemon.h | ||
virnetlibsshsession.c | ||
virnetlibsshsession.h | ||
virnetmessage.c | ||
virnetmessage.h | ||
virnetprotocol.x | ||
virnetsaslcontext.c | ||
virnetsaslcontext.h | ||
virnetserver.c | ||
virnetserver.h | ||
virnetserverclient.c | ||
virnetserverclient.h | ||
virnetservermdns.c | ||
virnetservermdns.h | ||
virnetserverprogram.c | ||
virnetserverprogram.h | ||
virnetserverservice.c | ||
virnetserverservice.h | ||
virnetsocket.c | ||
virnetsocket.h | ||
virnetsshsession.c | ||
virnetsshsession.h | ||
virnettlscontext.c | ||
virnettlscontext.h |