Versions of OpenSSH client prior to 2.3.0 do not properly enforce restrictions to the ssh-agent or X11 display.
An OpenSSH client can be configured to prevent servers from accessing the client's ssh-agent or X11 display. However, versions of OpenSSH client prior to 2.3.0 fail to enforce these settings and thus allow access regardless of the client's desired configuration.
The ssh-agent program is a tool used to store private keys for subsequent use by programs started in the same session. When an SSH connection is established, the client and server negotiate whether or not the server may have access to the client's local ssh-agent (and consequently, the client's stored authentication material). The ForwardAgent setting specifies whether access to the client's ssh-agent is permitted. However, if a server requests access to the local ssh-agent after the connection is negotiated, versions of the OpenSSH client prior to 2.3.0 will permit it even if ForwardAgent is set to "no."
Malicious servers can gain access to your X11 display or key material cached with ssh-agent.
Upgrade to OpenSSH 2.3.0 or later, or apply the patch for this issue available at http://www.openssh.com.
Clear both the $DISPLAY and the $SSH_AUTH_SOCK variable before connecting to untrusted hosts.
Thanks to Jacob Langseth <firstname.lastname@example.org> for pointing out the X11 forwarding issue and to Markus Friedl who published an advisory on this topic.
This document was written by Shawn Hernan and Shawn Van Ittersum.
|Date First Published:||2001-08-13|
|Date Last Updated:||2002-05-30 20:23 UTC|