
Este es un análisis para CVE-2025-32433 (vulnerabilidad SSH de Erlang OTP). No escribí nada del código; solo escribí comentarios que describen qué hace el código e instrucciones para configurar el servidor y realizar el exploit tú mismo.
Preguntas frecuentes - CVE-2025-32433
¿Qué es Erlang OTP? Erlang es un lenguaje de programación de propósito general. OTP (Open Telecom Platform) es una colección de middleware, bibliotecas y principios de diseño utilizados para la tolerancia a fallos mediante la BEAM VPN.
¿Por qué es vulnerable esta versión de Erlang? OTP 26.2.5.10 es vulnerable porque el servidor SSH no rechaza correctamente ciertos mensajes del protocolo de conexión SSH antes de que el cliente se haya autenticado. Flujo típico:
El cliente se conecta al servidor SSH.
El cliente y el servidor negocian los algoritmos SSH y realizan el intercambio de claves criptográficas.
Se establece una conexión SSH cifrada. --EL EXPLOIT REAL COMIENZA AQUÍ
El cliente comienza la autenticación de usuario, como la autenticación por contraseña o por clave pública.
Si la autenticación tiene éxito, el cliente puede abrir canales SSH y solicitar operaciones a través de ellos.
¿Por qué esto es un fallo? En la versión vulnerable, el servidor puede procesar ciertos paquetes del protocolo de conexión, incluido SSH_MSG_CHANNEL_OPEN, antes de que la autenticación de usuario se haya completado con éxito. Por lo tanto, un atacante puede establecer la conexión de transporte SSH pero omitir la autenticación de usuario exitosa y luego enviar mensajes que solo deberían aceptarse de un usuario autenticado. Esto puede permitir en última instancia la ejecución remota de código sin autenticación.
¿Cómo puedo replicar esto yo mismo? Descarga y extrae esto Ábrelo en VS Code Instala e inicia sesión en Docker Desktop Ejecuta el comando en este directorio: docker build -t local-erlang-ssh . Ejecuta el comando: docker run --rm -it -p 127.0.0.1:2222:2222 local-erlang-ssh Abre un nuevo powershell y comprueba que se inició: Test-NetConnection 127.0.0.1 -Port 2222 Espera un minuto y debería decir TcpTestSucceeded: true Ve al archivo de Python y haz clic en ejecutar Ahora debería mostrarse en el terminal el EXPLOIT Usa el comando "docker ps" para obtener el ID del contenedor. Luego pega este comando docker exec CONTAINER_ID cat /lab.txt Debería devolver la palabra "pwned" mostrando que el exploit funcionó. Para detener el contenedor, vuelve al terminal original donde iniciaste el contenedor de Docker y pulsa Control+C (puede que tengas que hacerlo dos veces)
¿Cómo podría proteger mis dispositivos de esta vulnerabilidad? Si tienes un servidor SSH Erlang OTP, actualízalo a 26.2.5.11 o posterior.
¿Dónde puedo aprender más? Quita los "[" y "]" que rodean la puntuación, odio tener enlaces activos. Código original de Matt Keely: https[:]//github[.]com/ProDefense/CVE-2025-32433/blob/main/CVE-2025-32433.py Explicación paso a paso de Matt Keely sobre cómo hizo el código: https[:]//platformsecurity[.]com/blog/CVE-2025-32433-poc Sitio web de NIST: https[:]//nvd.nist[.]gov/vuln/detail/CVE-2025-32433 Erlang: https[:]//www.youtube[.]com/watch?v=M7uo5jmFDUw