Vulnerabilidad de RCI en OpenSSH en sistemas Linux

Linux

Se ha descubierto una vulnerabilidad en OpenSSH la cual permitiría a un atacante la ejecución remota de código en hosts comprometidos, bajo condiciones específicas. Mediante esta vulnerabilidad un atacante remoto ejecutar comandos arbitrarios en ssh-agent enviados de OpenSSH.

La vulnerabilidad en cuestión ha sido rastrada como CVE-2023-38408 que afecta las versiones 9.3p2 y anteriores. La vulnerabilidad se debe a un tiene una ruta de búsqueda insuficientemente fiable, lo que lleva a la ejecución remota de código si un agente es reenviado a un sistema controlado por un atacante.

SSH-agent es un programa de segundo plano que almacena claves privadas SSH para la clave publica SSH de autenticación, lo que permite reducir la necesidad de introducir una frase de contraseña. El protocolo SSH es utilizado para cifrar todo el tráfico y así eliminar algún tipo de espionaje, conexión hijacking, entre otros tipos de ataques. Funciona mediante el almacenamiento de claves en la memoria, y descargando únicamente cuando el proceso finaliza.

Una explotación exitosa de estas fallas requiere la presencia de algunas bibliotecas específicas, en el sistema de la víctima, así como el hecho de que el agente de autenticación SSH es enviado a un sistema controlado por el atacante.

Según las observaciones, a través de la navegación del código fuente del ssh-agent, se identificó que un atacante remoto que posee acceso al servidor remoto hacia donde el ssh-agent de administrador del sistema es enviado, puede cargar (dlopen()) e inmediatamente descargar (dlclose()) cualquier biblioteca compartida en /usr/lib* en la estación de trabajo del administrador del sistema, a través del ssh-agent enviado, si este es compilado con ENABLE_PKCS11, el cual es el “por defecto”.

A pesar de que esto pareciera ser seguro, debido a que todas bibliotecas compartidas en /usr/lib* vienen desde un paquete de distribución oficial, y ninguna operación fuera de dlopen() y dlclose() es realizada por un ssh-agent en dicha biblioteca. Desafortunadamente, algunas bibliotecas compartidas poseen un efecto secundario cuando se refiere a dlopen() y dlclose(), y no resultan seguras de cargar o descargar en un programa como ssh-agent.

según lo comentado por la empresa, se pudo diseñar una prueba de concepto exitosa (PoC) contra las instalaciones predeterminadas de Ubuntu Desktop 22.04 y 21.10, sin embargo, debido al su amplio uso, por parte de los usuarios, se espera que otras distribuciones de Linux también sean vulnerables.

Como un ejemplo más grave de ataques remotos hacia ssh-agent reenviados, se pudo observar que una función del constructor de la biblioteca compartida, la cual puede ser invocada por un atacante remoto mediante un ssh-agent reenviado, empieza un ataque a nivel de server que escucha en un puerto TCP, mediante una vulnerabilidad.

Se recomienda encarecidamente que los usuarios d eOpenSSH actualicen a las versiones más recientes, con la finalidad de salvaguarda la integridad de los equipos, de potenciales ataques cibernéticos.

Desde inicios de febrero, personal que da mantenimiento a OpenSSH liberaron una actualización con el fin de remediar una vulnerabilidad media, la cual ha sido rastreada como CVE-2023-25136, el cual permitiría a un actor malicioso remoto no autenticado, modificar locaciones de memoria inesperadas y, teóricamente, lograr un ataque de ejecución de código.

Subsecuentemente, en marzo, se libero otro parche con la finalidad de cubrir otra falla de seguridad, la cual permitiría el abuso de los sistemas, por medio de una respuesta DNS específicamente diseñada para realizar una lectura fuera de los límites de los datos de la pila adyacente y causar una denegación de servicio al cliente SSH.

Related Post