CVE-2025-54123
Resumen
Ejecución remota de código autenticada en el endpoint de la API de middleware de HoverFly debido a una validación de entrada insuficiente y a una ejecución insegura de comandos.
Flujo del ataque
-
Autenticación
- El atacante se autentica en HoverFly usando credenciales válidas o un token de sesión
- Obtiene un token Bearer a través del endpoint
/api/token-auth
-
Creación del payload malicioso
- El atacante construye un payload JSON con:
binary: /bin/bash (controlado por el usuario)
script: comando shell arbitrario (p. ej., whoami, reverse shell)
-
Entrega del exploit
- Envía una solicitud PUT a
/api/v2/hoverfly/middleware con el payload malicioso
- Incluye el token Bearer en el encabezado Authorization
-
Procesamiento vulnerable
- HoverFly recibe la solicitud y extrae los parámetros
binary y script
- No se realiza ninguna validación de entrada sobre el parámetro binary
- Crea un archivo de script temporal con el contenido de script proporcionado por el usuario
- Ejecuta inmediatamente:
exec.Command(binary, scriptFile) durante la validación del middleware
-
Ejecución de código
- El comando se ejecuta con los privilegios del proceso de HoverFly
- La salida se devuelve en la respuesta de error (código de estado 422)
- El atacante puede ejecutar comandos arbitrarios o establecer una reverse shell
Causas raíz
- Líneas 94-96 (middleware.go): el parámetro binary se acepta sin validación
- Líneas 14-19 (local_middleware.go): el binary controlado por el usuario se pasa directamente a
exec.Command()
- Línea 173 (hoverfly_service.go): el middleware se ejecuta inmediatamente durante las pruebas
Detalles disponibles aquí : https://github.com/SpectoLabs/hoverfly/security/advisories/GHSA-r4h8-hfp2-ggmf