Vulnerabilidad de enumeración de usuarios de OpenSSH

Fecha de publicación 23/08/2018
Importancia
4 - Alta
Recursos Afectados

Versiones de OpenSSH hasta las versiones estables 6.7p1-1 y 7.7p1-1 y la inestable 7.7p1-4.

Descripción

Vulnerabilidad de fuga de información en OpenSSH que permitiría a un atacante remoto identificar fácilmente si un determinado usuario existe o no (enumeración de nombres de usuario) en un servidor OpenSSH.

Solución

El fallo ha sido parcheado en la versión estable de OpenSSH (6.7p1-1 y 7.7p1-1) y en la rama inestable 7.7p1-4.

Detalle

La vulnerabilidad se produce en el proceso de autenticación, en concreto en la función userauth_pubkey. Esta función, además de realizar la validación de la autenticación, comprueba que el formato de la misma no sea erróneo. El problema se produce, ya que antes de verificar el formato, esta función comprueba otros valores, como es la existencia del usuario. Si el mismo es incorrecto el servidor SSH responde con un mensaje SSH2_MSG_USERAUTH_FAILURE sin llegar a comprobar la validez del formato, pero si el usuario existe y el mensaje de autenticación no tiene el formato correcto, entonces el servidor cierra la conexión.

Debido a esta diferencia en el mensaje de error enviado es posible identificar cuándo un usuario existe o no en el sistema. La solución aplicada por los desarrolladores es comprobar, en primer lugar, el formato de la autenticación, y si este es correcto procederán a verificar otros parámetros como la validez del usuario. Se ha asignado el identificador CVE-2018-15473 a esta vulnerabilidad.

Encuesta valoración

Etiquetas