Nueva vulnerabilidad en el protocolo SSH permite ataques de truncamiento
Nueva vulnerabilidad en el protocolo SSH permite ataques de truncamiento

Nueva vulnerabilidad en el protocolo SSH permite ataques de truncamiento

Investigadores han identificado una nueva vulnerabilidad en el protocolo de red criptográfico SSH, conocida como CVE-2023-48795. Esta vulnerabilidad podría permitir a un atacante degradar la seguridad de la conexión al truncar el mensaje de negociación de extensión.

El ataque Terrapin

Terrapin es un ataque de truncamiento de prefijos que afecta al protocolo SSH. Los investigadores Fabian Bäumer, Marcus Brinkmann y Jörg Schwenk de la Ruhr-Universität Bochum lo han descubierto.

«Al ajustar cuidadosamente los números de secuencia durante el protocolo de enlace, un atacante puede eliminar una cantidad arbitraria de mensajes enviados por el cliente o el servidor al comienzo del canal seguro sin que el cliente o el servidor se dé cuenta», dicen los investigadores.

Además de degradar la seguridad de la conexión SSH al obligarla a utilizar algoritmos de autenticación de cliente menos seguros, el ataque también puede utilizarse para explotar vulnerabilidades en las implementaciones SSH. Por ejemplo, encontraron varias debilidades [CVE-2023-46445, CVE-2023-46446] en la máquina de estado de los servidores AsyncSSH, lo que permite a un atacante iniciar sesión en otra cuenta del cliente de una víctima sin que la víctima se dé cuenta.

Condiciones para el ataque

Para que Terrapin sea viable, la conexión que se interfiere debe estar protegida por «ChaCha20-Poly1305» o «CBC con Encrypt-then-MAC», los cuales son modos de cifrado agregados al protocolo SSH (en 2013 y 2012, respectivamente).

Sin embargo, para llevar a cabo un ataque Terrapin, el atacante ya debe poder interceptar y modificar los datos enviados desde el cliente o servidor al par remoto, lo que hace que sea más factible realizarlo en la red local.

Distribución de vulnerabilidades

Un análisis realizado por los investigadores encontró que el 77 por ciento de los servidores SSH expuestos a Internet admiten al menos uno de los modos de cifrado vulnerables, mientras que el 57 por ciento de ellos enumera un modo de cifrado vulnerable como la opción preferida.

Parches y soluciones

Los investigadores se pusieron en contacto con casi 30 proveedores de diversas implementaciones de SSH y compartieron su investigación para poder proporcionar soluciones antes de la publicación.

«Muchos proveedores han actualizado su implementación de SSH para admitir un intercambio de claves estricto opcional. El intercambio de claves estricto es un cambio incompatible con versiones anteriores del protocolo de enlace SSH que introduce restablecimientos de números de secuencia y elimina la capacidad del atacante de inyectar paquetes durante el protocolo de enlace inicial sin cifrar», explican.

Pero llevará un tiempo actualizar todos los clientes y servidores, y ambas partes deben hacerlo para que la conexión sea segura contra el ataque Terrapin.

Implementaciones afectadas

  • AsyncSSH
  • LibSSH
  • OpenSSH
  • PuTTY
  • Transmit
  • SUSE
  • Dropbear SSH
  • Rust SSH
  • Thrussh
  • Paramiko
  • libssh2

Los administradores también pueden utilizar el Terrapin Vulnerability Scanner para determinar si un cliente o servidor SSH es vulnerable.

«El escáner se conecta a su servidor SSH (o escucha una conexión de cliente entrante) para detectar si se ofrecen modos de cifrado vulnerables y si se admite la contramedida estricta de intercambio de claves. No realiza un apretón de manos completo, ni realiza realmente el ataque», explicaron.