the_open_door
café
ESEN
← Volver al índice

Openfire auth bypass (CVE-2023-32315)

Openfire es un servidor XMPP con una consola de administración web (puertos 9090/9091). La CVE-2023-32315 es un path traversal en esa consola que afecta a las versiones <= 3.10.0 y 4.x anteriores a la 4.7.5. Aprovechando una normalización defectuosa de la URL sobre las rutas de setup (/setup/setup-*/..\..\...), un atacante no autenticado alcanza páginas de administración restringidas.

El impacto real es que, saltándose la autenticación, se puede crear una cuenta de administrador nueva. A partir de ahí, el panel permite subir plugins .jar, lo que da ejecución de código con los privilegios del servicio Openfire. Un exploit público automatiza la creación del admin:

python3 CVE-2023-32315.py -u http://<ip>:9090
# -> Username / Password del admin creado

Después, desde Plugins → Upload Plugin, se sube un plugin malicioso (por ejemplo un "management tool" con un Execute command) y se ejecuta una reverse shell.

Matices. El bypass da acceso administrativo, no RCE directo: la ejecución de código llega al subir un plugin. Openfire suele exponerse en la LAN de gestión; verificar la versión (la interfaz la muestra) antes de asumir vulnerabilidad.

Cómo detectarlo. El bypass deja peticiones no autenticadas a rutas de /setup/setup-*/ con secuencias de traversal codificadas (%c0%2e, ..\, %5c) en el log de la consola (9090/9091), algo que la operación normal nunca produce una vez terminada la instalación. La señal de mayor fidelidad es la creación de una cuenta de administrador nueva en el log de seguridad de Openfire seguida, minutos después, de la subida de un plugin .jar desde el panel: esa secuencia (traversal, alta de admin, upload de plugin, ejecución) es la cadena completa del ataque.

Defensa. Actualizar a Openfire 4.7.5+, no exponer la consola de administración a redes no confiables y restringir la subida de plugins. Relacionado con LFI / path traversal, subida de fichero a RCE y credenciales en el código/config.

Máquinas donde se aplica

  • FiredProving Grounds Practice