Vulnerabilidad en los clientes SSH OpenSSH y PuTTY

En los clientes SSH OpenSSH y PuTTY se ha detectado vulnerabilidad (CVE-2020-14002 en PuTTY y CVE-2020-14145 en OpenSSH), que lleva a la filtración de información en el algoritmo de negociación de conexión. La vulnerabilidad permite a un atacante, capaz de interceptar el tráfico del cliente (por ejemplo, al conectar a un usuario a través de un punto de acceso inalámbrico controlado por el atacante), identificar el intento de conexión inicial del cliente al host, cuando aún no se ha guardado en caché la clave del host.

Sabiendo que el cliente intenta conectarse por primera vez y aún no tiene la clave del host, el atacante puede retransmitir la conexión a través de sí mismo (MITM) y entregar al cliente su clave de host, que el cliente SSH considerará como la clave del host objetivo, a menos que realice una verificación de huellas digitales de la clave. De esta forma, el atacante puede llevar a cabo un MITM sin suscitar sospechas en el usuario e ignorar las sesiones en las que el cliente ya tiene claves de host guardadas en caché, ya que un intento de reemplazo de estas generará una advertencia sobre el cambio de clave del host. El ataque se basa en la negligencia de los usuarios que no realizan la verificación manual de la huella digital de la clave del host en su primera conexión. Aquellos que comprueban las huellas de las claves están protegidos contra ataques similares.

Como un indicador para determinar el primer intento de conexión se utiliza el cambio en el orden de enumeración de los algoritmos de claves de host admitidos. En caso de que se produzca la primera conexión, el cliente envía una lista de algoritmos por defecto, y si la clave del host ya está en caché, el algoritmo asociado se coloca en primer lugar (los algoritmos se ordenan por preferencia).

El problema se manifiesta en las versiones de OpenSSH desde 5.7 hasta 8.3 y en PuTTY desde 0.68 hasta 0.73. El problema se solucionó en la versión PuTTY 0.74 a través de la adición de una opción para desactivar la construcción dinámica de la lista de algoritmos de procesamiento de claves de host en favor de enumerar los algoritmos en un orden fijo.

El proyecto OpenSSH no planea cambiar el comportamiento del cliente SSH, ya que si no se especifica el algoritmo de la clave existente en primer lugar, se intentará aplicar un algoritmo que no coincide con la clave almacenada, mostrando una advertencia sobre una clave desconocida. Es decir, hay una elección: ya sea una filtración de información (OpenSSH y PuTTY), o la emisión de advertencias sobre el cambio de clave (Dropbear SSH) en caso de que la clave guardada no coincida con el primer algoritmo en la lista por defecto.

Para garantizar la seguridad en OpenSSH, se sugiere utilizar métodos alternativos para verificar la clave del host mediante registros SSHFP en DNSSEC y certificados de host (PKI). También se puede desactivar la selección adaptativa de algoritmos de claves de host a través de la opción HostKeyAlgorithms y utilizar la opción UpdateHostKeys para que el cliente obtenga claves adicionales del host después de la autenticación.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster