News for hackers. Stuff that matters.
Re:OpenSSH: client bug CVE-2016-0777 by jlgaddis on Thursday January 14, 2016 @09:39AM (#10901603)
Workaround (yes, it's client-side):

  # echo -e "Host *\n\tUseRoaming no\n" >> /etc/ssh/ssh_config
Disclaimer: won't work on all operating systems, shells, etc. YMMV. Consult a doctor before following any advice you get from the Internet. Void where prohibited. Restrictions may apply.

Edited per comments below

Re:OpenSSH: client bug CVE-2016-0777 by ralphm on Thursday January 14, 2016 @10:27AM (#10901917)
Don't ever fix your `ssh_config` by appending stuff to the end of the file. The configuration syntax allows for block constructs without an explicit end marker (like `Match` and `Host`). Appending will cause all kinds of sadness.
Re:OpenSSH: client bug CVE-2016-0777 by gnur on Thursday January 14, 2016 @10:32AM (#10901956)
It's from the linked page.
Re:OpenSSH: client bug CVE-2016-0777 by ralphm on Thursday January 14, 2016 @10:38AM (#10901993)
Indeed. The page gives bad advise. If your config has `Host` blocks, like often in people's personal configs, or if you have a `Match` block, the new directive only applies to the last of those blocks in the config file.
Re:OpenSSH: client bug CVE-2016-0777 by snowwrestler on Thursday January 14, 2016 @11:04AM (#10902171)
Sufficient to place it at the top of ~/.ssh/config? Or does it also need a block header of its own, like:

    Host *
    UseRoaming no
Re:OpenSSH: client bug CVE-2016-0777 by skuhn on Thursday January 14, 2016 @04:45PM (#10904763)
I confirmed that it does not need to be placed into a Host block, as long as it is above all of your blocks.

For instance:

   UseRoaming no

   Host *
      Blah yes
Test with: ssh -v remote.ssh.host.com uptime 2>&1 | grep -i roaming

If it returns nothing, the config fix is active. If it isn't active, you'll see 'debug1: Roaming not allowed by server'

Re:OpenSSH: client bug CVE-2016-0777 by jldugger on Thursday January 14, 2016 @01:26PM (#10903283)
Which is why they're appending a newline and Host *?
Re:OpenSSH: client bug CVE-2016-0777 by ralphm on Thursday January 14, 2016 @05:03PM (#10904975)
Note that the example was changed as a result of my initial comment.
Re:OpenSSH: client bug CVE-2016-0777 by doogle88 on Thursday January 14, 2016 @09:53AM (#10901698)
Presumably you would have to connect to a malicious host to be effected? Or perhaps a MITM on your connection to a legit host can exploit you somehow.
Re:OpenSSH: client bug CVE-2016-0777 by amatix on Thursday January 14, 2016 @10:19AM (#10901867)
From the updated OP:

> The authentication of the server host key prevents exploitation by a man-in-the-middle, so this information leak is restricted to connections to malicious or compromised servers.

Re:OpenSSH: client bug CVE-2016-0777 by jon-wood on Thursday January 14, 2016 @01:02PM (#10903079)
Malicious, compromised, or new servers. Because really, how many people check the host key for a newly spun up EC2 instance?
Re:OpenSSH: client bug CVE-2016-0777 by masklinn on Thursday January 14, 2016 @10:07AM (#10901798)
> Presumably you would have to connect to a malicious host to be effected?

Malicious or compromised.

> roaming code in the ssh client could be tricked by a hostile sshd server, potentially leaking key material.

Re:OpenSSH: client bug CVE-2016-0777 by pmoriarty on Thursday January 14, 2016 @09:49AM (#10901672)
Would this work too?

  $ echo "UseRoaming no" >> ~/.ssh/config
Re:OpenSSH: client bug CVE-2016-0777 by iamtew on Thursday January 14, 2016 @09:52AM (#10901694)
Yes, but it'll only affect that user.
Re:OpenSSH: client bug CVE-2016-0777 by ralphm on Thursday January 14, 2016 @10:32AM (#10901953)
And only the last `Host` entry in that config, if present.
Re:OpenSSH: client bug CVE-2016-0777 by Zr40 on Thursday January 14, 2016 @09:52AM (#10901688)
Yes, but it would not apply to other users.
Re:OpenSSH: client bug CVE-2016-0777 by narsil on Thursday January 14, 2016 @11:57AM (#10902580)
I'm emailing the one-liner to folks and found it helpful to just include the root subshell:

    sudo bash -c 'echo -e "Host *\n\tUseRoaming no\n" >> /etc/ssh/ssh_config'