Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2023-22515 — Contrôle d'accès cassé côté serveur dans Confluence - CVE-2023-22515 | Kitploit
Outils/GitHubGitHub/lucaspdiniz/cve-2023-22515
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHublucaspdiniz/cve-2023-22515

CVE-2023-22515

Contrôle d'accès cassé côté serveur dans Confluence - CVE-2023-22515

Voir le dépôt
21il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Vulnérabilité Confluence - CVE-2023-22515 📓

Introduction

Atlassian a été informé d'une possible vulnérabilité qui pourrait être exploitée et compromettre l'environnement via un accès administratif. Le 4 octobre 2023, Atlassian a publié un avis de sécurité concernant CVE-2023-22515, qui a obtenu un score CVE de 10,0. La vulnérabilité a été introduite dans la version 8.0.0 de Confluence Server et Data Center et est présente dans les versions <8.3.3, <8.4.3, <8.5.2.

Un attaquant peut exploiter la vulnérabilité pour créer un compte supplémentaire dans Confluence avec des privilèges administratifs complets. L'attaquant n'a besoin d'aucune information préalable pour exploiter la vulnérabilité. On pense que la vulnérabilité permet d'autres vecteurs d'attaque inconnus et doit être corrigée dès que possible.

Explication de l'exploration ⚠️

Avec cette vulnérabilité, l'attaquant peut revenir à l'étape de configuration de Confluence, parvenant à créer un nouvel utilisateur avec un accès administratif. Tout cela est possible car Confluence est construit à l'aide du framework Apache Struts, qui dépend du package XWork. XWork permet de définir des Actions sous forme d'une classe Java. Chaque Action peut être invoquée via une URL, et la classe Java correspondante gère la requête, fait ce que l'Action exige et émet une réponse.

Ce problème se produit principalement à cause d'une action de classe, où nous pouvons invoquer des attributs via une URL

  • Enchaînement des Getters/Setters pour réactiver la configuration initiale

L'exploration a lieu dans l'action ServerInfoAction, où nous pouvons manipuler les getters/setters de la classe et réinitialiser la configuration.

Si vous analysez le code de la classe ServerInfoAction, vous verrez qu'elle étend la classe ConfluenceActionSupport. Ce faisant, elle hérite également de toutes ses méthodes. L'une de ces méthodes est un getter qui renvoie un objet BootstrapStatusProvider :

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

Nous nous intéressons à la classe BootstrapStatusProvider car elle possède une autre méthode getter que nous pouvons utiliser pour récupérer un objet ApplicationConfiguration :

public class BootstrapStatusProviderImpl implements BootstrapStatusProvider, BootstrapManagerInternal {
  public ApplicationConfiguration getApplicationConfig() {
    return this.delegate.getApplicationConfig();
  }
}

Cet objet contient la configuration de l'application, y compris un attribut qui indique à Confluence si la configuration initiale est terminée. Cet attribut peut être modifié en utilisant un setter dans la classe ApplicationConfig :

public class ApplicationConfig implements ApplicationConfiguration {
  public synchronized void setSetupComplete(boolean setupComplete) {
    this.setupComplete = setupComplete;
  }  
}

Si nous pouvons appeler setSetupComplete(false), nous pouvons réinitialiser le processus de configuration, et nous pouvons le faire en utilisant les méthodes getters/setters comme ci-dessous ;

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

Cette URL appellera toutes les méthodes mentionnées ci-dessus, arrivant à la méthode cible responsable de la réinitialisation de la configuration.

getBootstrapStatusProvider().getApplicationConfig().setSetupComplete(false)

Mise en pratique ✍️

Ci-dessous, nous avons un exemple de serveur avec une version vulnérable de Confluence.

Essayons de redémarrer le processus de configuration en utilisant l'appel de méthode comme expliqué ci-dessus ;

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

Après avoir défini le paramètre setupcomplete sur false, nous recevrons le retour success. Cela signifie que la tentative de modification du paramètre a réussi.

  • Création d'un nouveau compte administratif 🔥

Essayons de créer un nouveau compte en accédant à l'URL de configuration, que nous avons tenté de réinitialiser.

http://atlassian.poc:8090/setup/setupadministrator-start.action

  • Terminé !!! ✔️

Nous avons pu réinitialiser le processus de configuration et créer un nouvel utilisateur avec un accès administratif.

Correction ✅

La vulnérabilité a été corrigée dans les versions 8.3.3, 8.4.3 et 8.5.2. Les branches de version plus récentes devraient également être sûres.

Pour plus de détails, Atlassian a publié des informations sur cette vulnérabilité sur son site web (En savoir plus - Atlassian).

Télécharger l’outil