Vulnerabilidad CVE-2018-10933 de Libssh permite acceder a un servidor sin saber la clave

Vulnerabilidad CVE-2018-10933 de Libssh permite acceder a un servidor sin saber la clave

Una vulnerabilidad en libssh, una librería popular que admite el protocolo de autenticación Secure Shell (SSH), deja a miles de servidores empresariales abiertos a ataques.

La vulnerabilidad CVE-2018-10933 de libssh permite que un atacante omita los procedimientos de autenticación y obtenga acceso ssh a un servidor sin tener que ingresar una contraseña.

Libssh ha lanzado una nueva versión que soluciona este problema

/**
 * @internal
 *
 * @brief Handles a SSH_USERAUTH_SUCCESS packet.
 *
 * It is also used to communicate the new to the upper levels.
 */
SSH_PACKET_CALLBACK(ssh_packet_userauth_success) {
  (void)packet;
  (void)type;
  (void)user;
 
 SSH_LOG(SSH_LOG_DEBUG, "Authentication successful");
 SSH_LOG(SSH_LOG_TRACE, "Received SSH_USERAUTH_SUCCESS");
 
 session->auth.state = SSH_AUTH_STATE_SUCCESS;

Un atacante puede hacer esto enviando el mensaje "SSH2_MSG_USERAUTH_SUCCESS" al servidor ssh en lugar del mensaje "SSH2_MSG_USERAUTH_REQUEST" que un servidor suele esperar y que libssh utiliza como una señal de que es necesario iniciar un procedimiento de autenticación.

Debido a un error de codificación, cuando libssh recibe el mensaje "SSH2_MSG_USERAUTH_SUCCESS", interpretará esto como que "la autenticación ya se realizó" y otorgará al atacante acceso al servidor local.

Está vulnerabilidad afectaría a más de 3000 servidores

La vulnerabilidad de la biblioteca Libssh afecta actualmente al menos 3.003 servidores, según la búsqueda superficial realizada con el motor de búsqueda Shodan.

Servidores Vulnerables Libssh

La razón es que la mayoría de los servidores, dispositivos IoT y ordenadores personales prefieren implementar el soporte SSH a través de la biblioteca openssh en lugar de libssh.

GitHub es una de las webs que admiten libssh

Uno de los sitios más grandes que admite libssh es GitHub, pero el equipo de seguridad del sitio ya se ha presentado para decir que no están afectados.

GitHub utiliza libssh para proporcionar un método de inicio de sesión SSH alternativo para clientes empresariales.

Si el método de inicio de sesión basado en libssh de GitHub fuera vulnerable, un atacante podría haber obtenido acceso al código fuente y la propiedad intelectual de las compañías más grandes del mundo.

La vulnerabilidad solo esta presente del lado del servidor

El código vulnerable solo está presente en el código del lado del servidor de libssh, lo que significa que tener un cliente SSH basado en libssh instalado en nuestro ordenador no permitirá el acceso de un atacante a su sistema a menos que el cliente también esté configurado para funcionar como un servidor SSH.

Hasta el momento no se realizó ningúna explotación pública de esta vulnerabilidad CVE-2018-10993, sin embargo, lo que es más probable es que aparezcan en los próximos días debido a la trivialidad de la vulnerabilidad.