Vulnerabilidad CVE-2023-51385

Vulnerabilidad CVE-2023-51385

Publicado: 07/11/2025

Escrito por: Monica Burgess

CVE-2023-51385 es una vulnerabilidad de inyección de comandos en la función proxy command de OpenSSH. Un atacante podría explotar esta falla al engañar a un usuario o a un proceso automatizado para que se conecte a un servidor malicioso con un nombre de servidor especialmente diseñado. Esto podría permitir que el atacante ejecute comandos arbitrarios en la máquina del cliente, lo que representa un riesgo de seguridad importante.

Bien, hablemos de un caso complicado. CVE-2023-51385 es una vulnerabilidad de ejecución remota de código (RCE) que se encuentra en OpenSSH, una de las herramientas más usadas para conexiones remotas seguras. Específicamente, la falla existe en la forma en que algunas versiones del cliente SSH manejan los nombres de servidor al usar la opción ProxyCommand. Un atacante puede crear un nombre de servidor malicioso que, al usarse, le permite ejecutar comandos arbitrarios en la máquina que inicia la conexión SSH. Piénsalo como una puerta trasera que se abre a partir de un intento de conexión aparentemente normal.

¿Qué es la vulnerabilidad CVE-2023-51385?

CVE-2023-51385 es una vulnerabilidad de inyección de comandos que afecta el lado del cliente de OpenSSH. El problema surge cuando la función ProxyCommand se usa con un nombre de servidor que contiene metacaracteres de shell (como comillas invertidas `). Debido a que el código del lado del cliente en las versiones vulnerables no depura correctamente el nombre de servidor antes de pasarlo al shell para su ejecución, un atacante puede incrustar comandos dentro de ese nombre. Si un usuario o un sistema automatizado intenta conectarse a este nombre de servidor malicioso, los comandos incrustados se ejecutarán en su equipo local con sus permisos. Qué miedo.

¿Cuándo se descubrió?

La vulnerabilidad se dio a conocer públicamente el 18 de diciembre de 2023. El problema fue descubierto por investigadores de seguridad que identificaron la validación de entrada defectuosa en el código fuente de OpenSSH. Siguiendo las prácticas de divulgación responsable, los detalles se publicaron después de que los desarrolladores de OpenSSH pusieran un parche a disposición, lo que les dio tiempo a los administradores de sistemas para actualizar sus sistemas antes de que la explotabilidad se conociera ampliamente.

Productos y versiones afectados

La vulnerabilidad afecta específicamente a versiones de OpenSSH anteriores a 9.6. Si usas ProxyCommand o una función similar que dependa de él (como ProxyJump con ciertas configuraciones), debes revisar tu versión lo antes posible.

Producto

Versiones afectadas

Versiones corregidas / enlace del parche

OpenSSH

Versiones anteriores a 9.6

9.6 y posteriores / Notas de la versión de OpenSSH 9.6

Descripción técnica de CVE-2023-51385

Vayamos a fondo. La causa raíz de la vulnerabilidad CVE-2023-51385 radica en la falta de depuración de entradas dentro del cliente OpenSSH. Cuando se inicia una conexión SSH usando la opción ProxyCommand, el cliente expande tokens como %h (nombre de servidor) y %p (puerto) antes de pasar la cadena resultante a un shell para su ejecución.

El problema es que si el nombre de servidor (%h) contiene metacaracteres de shell, como comillas invertidas (), estos no se escapan ni se eliminan. El código del cliente básicamente construye una cadena de comando y se la entrega a /bin/sh. Por ejemplo, un comando malicioso podría verse así: ssh -o ProxyCommand='ssh -W "attacker-command":22 proxy' user@servidor. El comando interno, attacker-command`, se ejecutaría en la máquina del cliente.

Esta falla es especialmente peligrosa en entornos donde los nombres de servidor no son totalmente confiables, como repositorios de Git con submódulos que apuntan a URLs maliciosas o en scripts automatizados que se conectan a varios servidores.

Tácticas, técnicas y procedimientos (TTPs)

Los actores de amenazas que explotan la vulnerabilidad CVE-2023-51385 suelen usar ingeniería social o manipulación de la cadena de suministro para lograr que una víctima se conecte a un nombre de servidor malicioso. Una TTP común consiste en incrustar una URL SSH manipulada en el archivo de configuración de un proyecto (por ejemplo, un archivo .gitmodules). Cuando un desarrollador clona el repositorio e inicializa los submódulos, su cliente SSH podría ejecutar sin saberlo la *payload* (carga útil del ataque) incrustada. Esto permite al atacante lograr acceso inicial y potencialmente moverse lateralmente dentro de la red.

Indicadores de compromiso

Detectar una explotación activa de esta vulnerabilidad puede ser complicado, ya que la conexión inicial podría parecer legítima. Sin embargo, hay algunos indicadores de compromiso (IOC) que debes vigilar. Presta atención a los registros de ejecución de shell (bash_history, zsh_history) en busca de comandos ssh sospechosos que incluyan nombres de servidor con formato extraño o comillas invertidas. También debes monitorear conexiones de red salientes inesperadas o procesos generados por un proceso de cliente SSH, especialmente si se ejecutan con privilegios de nivel de usuario.

Pruebas de concepto y exploits conocidos

Poco después de la divulgación, varios investigadores de seguridad desarrollaron y publicaron exploits de prueba de concepto (PoC) para CVE-2023-51385. Estos PoC demostraron cómo se podía usar un nombre de servidor malicioso para lanzar aplicaciones, como una calculadora, en la máquina del cliente para demostrar la ejecución de código. Aunque no se han reportado campañas generalizadas de gran escala hasta principios de 2025, la disponibilidad pública de estos PoC significa que los actores de amenazas cuentan con las herramientas para incorporar este exploit de CVE-2023-51385 en sus ataques. La explotabilidad es sencilla para cualquiera que pueda convencer a un objetivo de usar un nombre de servidor manipulado.

Cómo detectar la vulnerabilidad CVE-2023-51385

La mejor forma de "detectar" la vulnerabilidad es revisar la versión de tu cliente OpenSSH. En la mayoría de los sistemas Linux, puedes ejecutar ssh -V en tu terminal. Si la versión reportada es anterior a la 9.6, eres vulnerable. Para la detección a nivel de dispositivo, puedes usar una solución de Detección y respuesta para endpoints (EDR) para monitorear cadenas de procesos inusuales que se originen desde ssh. Por ejemplo, que un proceso ssh genere una shell u otras aplicaciones inesperadas es una señal de alerta importante. Las reglas de SIEM también se pueden configurar para alertar sobre comandos SSH en los registros que contengan metacaracteres de shell en el argumento del nombre del equipo.

Impacto y riesgo de la vulnerabilidad CVE-2023-51385

El impacto de esta vulnerabilidad puede ser grave. Un atacante que la explote con éxito obtiene la capacidad de ejecutar código con los mismos privilegios que el usuario que ejecuta el cliente SSH. Si ese usuario es un desarrollador con derechos de sudo o acceso a infraestructura sensible, el atacante podría escalar privilegios, exfiltrar datos, instalar malware persistente, o moverse a otros sistemas de la red. El riesgo para el negocio incluye filtraciones de datos, robo de propiedad intelectual y tiempo de inactividad del sistema. En resumen, es un problema bastante grave.

Estrategias de mitigación y remediación

¡Deja lo que estás haciendo y aplica el parche! La mitigación principal y más efectiva es actualizar OpenSSH a la versión 9.6 o posterior. Esta versión incluye una corrección que depura correctamente los nombres de servidor para evitar la inyección de comandos.

Si no puedes actualizar de inmediato, tienes un par de opciones, pero no son tan buenas como aplicar el parche:

  • Evita los nombres de servidor no confiables: Ten mucho cuidado con los nombres de servidor a los que tú y tus sistemas automatizados se conectan. No clones repositorios de Git de fuentes no confiables ni te conectes a servidores SSH sin verificar el nombre del servidor.

  • Restringe ProxyCommand: Si es posible, desactiva o limita estrictamente el uso de ProxyCommand en tus archivos de configuración de SSH globales y específicos del usuario (/etc/ssh/ssh_config y ~/.ssh/config).

En definitiva, aplicar el parche es la única manera segura de remediar esta vulnerabilidad. No esperes.

Preguntas frecuentes sobre la vulnerabilidad CVE-2023-51385

CVE-2023-51385 es una vulnerabilidad de inyección de comandos en el cliente de OpenSSH. Funciona engañando al cliente para que ejecute comandos ocultos dentro de un nombre de servidor especialmente diseñado cuando se usa la función ProxyCommand. El cliente no limpia correctamente el nombre de servidor, lo que permite que se ejecute código malicioso en la máquina del usuario.

Esto no es un virus tradicional; es un exploit que requiere interacción del usuario. Un atacante necesita convencer a un usuario o a un script automatizado de iniciar una conexión SSH hacia una dirección de servidor maliciosa. Esto suele hacerse incrustando la dirección maliciosa en un archivo del proyecto, como un submódulo de Git, al que luego accede el usuario.

Sí, definitivamente sigue siendo una amenaza. Cualquier sistema que ejecute una versión sin parchear de OpenSSH (anterior a la 9.6) sigue siendo vulnerable. Dado el uso generalizado de OpenSSH y la disponibilidad pública del código del exploit, es un objetivo atractivo para los atacantes que buscan una forma fácil de entrar a una red.

La mejor protección es la aplicación de parches. Las organizaciones deben actualizar todos los clientes OpenSSH a la versión 9.6 o posterior. Además, deben usar herramientas de seguridad para monitorear actividad de procesos sospechosa y educar a los desarrolladores sobre los riesgos de conectarse a hosts no confiables.

Protege lo que importa

Protege endpoints, correo electrónico y empleados con el poder de nuestro SOC 24/7. Prueba Huntress gratis y despliega en minutos para empezar a combatir las amenazas.
Probar Huntress gratis