Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2023-22515 — Controle de Acesso Quebrado no Confluence Server - CVE-2023-22515 | Kitploit
Ferramentas/GitHubGitHub/lucaspdiniz/cve-2023-22515
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHublucaspdiniz/cve-2023-22515

CVE-2023-22515

Controle de Acesso Quebrado no Confluence Server - CVE-2023-22515

Ver Repositório
21há 2 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Vulnerabilidade do Confluence - CVE-2023-22515 📓

Introdução

A Atlassian foi informada sobre uma possível vulnerabilidade que poderia ser explorada e comprometer o ambiente por meio de acesso administrativo. Em 4 de outubro de 2023, a Atlassian divulgou um aviso de segurança sobre a CVE-2023-22515, que recebeu uma pontuação CVE de 10.0. A vulnerabilidade foi introduzida na versão 8.0.0 do Confluence Server e nas edições Data Center e está presente nas versões <8.3.3, <8.4.3, <8.5.2.

Um atacante pode explorar a vulnerabilidade para criar uma conta adicional no Confluence com privilégios administrativos totais. O atacante não precisa de nenhuma informação prévia para explorar a vulnerabilidade. Acredita-se que a vulnerabilidade possibilite outros vetores de ataque desconhecidos e deve ser corrigida o mais rápido possível.

Explicando a Exploração ⚠️

Com essa vulnerabilidade, o atacante pode retornar ao estágio de configuração inicial do Confluence, conseguindo criar um novo usuário com acesso administrativo. Tudo isso é possível porque o Confluence é construído usando o framework Apache Struts, que depende do pacote XWork. O XWork permite definir Actions na forma de uma classe Java. Cada Action pode ser invocada por meio de uma URL, e a classe Java correspondente tratará a solicitação, fará o que a Action exigir e emitirá uma resposta.

Esse problema ocorre principalmente devido a uma action de classe, onde podemos invocar atributos via URL

  • Encadeando Getters/Setters para Reativar a Configuração Inicial

A exploração ocorre na action ServerInfoAction, onde podemos manipular os getters/setters da classe e redefinir a configuração de setup.

Se você analisar o código da classe ServerInfoAction, verá que ela estende a classe ConfluenceActionSupport. Ao fazer isso, ela herdará também todos os seus métodos. Um desses métodos é um getter que retorna um objeto BootstrapStatusProvider:

root@kitploit:~
public class ConfluenceActionSupport extends ActionSupport implements LocaleProvider, WebInterface, MessageHolderAware {
  public BootstrapStatusProvider getBootstrapStatusProvider() {
    if (this.bootstrapStatusProvider == null)
      this.bootstrapStatusProvider = BootstrapStatusProviderImpl.getInstance(); 
    return this.bootstrapStatusProvider;
  }
}

Nós nos importamos com a classe BootstrapStatusProvider porque ela tem outro método getter que podemos usar para recuperar um objeto ApplicationConfiguration:

root@kitploit:~
public class BootstrapStatusProviderImpl implements BootstrapStatusProvider, BootstrapManagerInternal {
  public ApplicationConfiguration getApplicationConfig() {
    return this.delegate.getApplicationConfig();
  }
}

Esse objeto contém a configuração do aplicativo, incluindo um atributo que informa ao Confluence se a configuração inicial foi concluída. Tal atributo pode ser modificado usando um setter na classe ApplicationConfig:

root@kitploit:~
public class ApplicationConfig implements ApplicationConfiguration {
  public synchronized void setSetupComplete(boolean setupComplete) {
    this.setupComplete = setupComplete;
  }  
}

Se pudermos chamar setSetupComplete(false), podemos redefinir o processo de configuração inicial, e podemos fazer isso usando os métodos getters/setters da seguinte forma;

root@kitploit:~
http://10.10.227.86:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

Esta url chamará todos os métodos que mencionamos acima, chegando ao método alvo responsável por redefinir o setup.

root@kitploit:~
getBootstrapStatusProvider().getApplicationConfig().setSetupComplete(false)

Mão na Massa ✍️

Abaixo, temos um exemplo de um servidor com uma versão vulnerável do Confluence.

vamos tentar reiniciar o processo de configuração usando a chamada de método explicada acima;

root@kitploit:~
http://atlassian.poc:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

Depois de definir o parâmetro setupcomplete como false, receberemos o retorno de sucesso. Isso significa que a tentativa de alterar o parâmetro foi bem-sucedida.

  • Criando nova conta administrativa 🔥

vamos tentar criar uma nova conta acessando a url de setup, da qual tentamos redefinir o processo.

root@kitploit:~
http://atlassian.poc:8090/setup/setupadministrator-start.action

  • Feito !!! ✔️

Conseguimos redefinir o processo de configuração e criar um novo usuário com acesso administrativo.

Correção ✅

A vulnerabilidade foi corrigida nas versões 8.3.3, 8.4.3 e 8.5.2. Quaisquer branches de versões mais recentes também devem estar seguras.

Para mais detalhes, a Atlassian divulgou detalhes dessa vulnerabilidade em seu site (Saiba mais - Atlassian).

Baixar ferramenta