Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-67875 — CVE-2025-67875 - ChurchCRM の Person Property Assignment に保存型 XSS が存在し、管理者セッションのハイジャックにつながります | Kitploit
ツール/GitHubGitHub/lukasz-rybak/cve-2025-67875
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト学習と教育
GitHublukasz-rybak/cve-2025-67875

CVE-2025-67875

CVE-2025-67875 - ChurchCRM の Person Property Assignment に保存型 XSS が存在し、管理者セッションのハイジャックにつながります

リポジトリを見る
35ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-67875: ChurchCRMにおける人物プロパティ割り当てを介した保存型XSSと管理者セッションハイジャック

概要

項目詳細
CVE IDCVE-2025-67875
深刻度HIGH
アドバイザリアドバイザリを表示
発見者Lukasz Rybak

影響を受ける製品

  • ChurchCRM/CRM

詳細

概要

ChurchCRM バージョン 6.3.0 以前には、重大な特権昇格の脆弱性が存在します。特定の中間レベルの権限(「Edit Records(レコードの編集)」と「Manage Properties and Classifications(プロパティと分類の管理)」)を持つ認証済みユーザーは、永続的なクロスサイトスクリプティング(XSS)ペイロードを管理者のプロフィールに注入できます。このペイロードは、管理者が自分のプロフィールページを表示したときに実行され、攻撃者は管理者のセッションをハイジャックし、管理操作を実行して、完全なアカウント乗っ取りを達成できます。

この脆弱性は、2つの別個の欠陥の組み合わせです。任意のユーザーが他のユーザーのプロフィールを閲覧できるようにする Insecure Direct Object Reference(IDOR)と、一般的な編集権限を持つユーザーが他のユーザーのレコードプロパティを変更できるようにする Broken Access Control(アクセス制御の欠陥)の脆弱性です。

詳細

攻撃チェーンは次のとおりです。

  1. PersonView.php の IDOR: PersonView.php の先頭には認可チェックがありません。認証済みの任意のユーザーは、他のユーザーの ID を知っているだけで、そのユーザーのプロフィールページ(例: 管理者の場合は PersonView.php?PersonID=1)を閲覧できます。

  2. PropertyAssign.php の Broken Access Control: 他のユーザーの PersonView.php ページからアクセスできる「Assign a New Property」機能は、ユーザーを PropertyAssign.php に誘導します。このスクリプトは、ユーザーが一般的な isEditRecordsEnabled() 権限を持っているかどうかを正しくチェックしますが、URL で渡された特定の PersonID を編集できるかどうかを検証するオブジェクトレベルの認可チェックを実行しません。これにより、「Edit Records」権限を持つユーザーは、管理者を含むシステム内の任意の人物のプロパティを変更できます。

  3. 保存型XSSベクター: 攻撃者はこれら2つの欠陥を利用して管理者のプロフィールページに移動し、「Assign a New Property」フォームを使用して悪意のある XSS ペイロードを管理者のレコードに保存できます。テキストベースのプロパティの Value フィールドは、入力時に適切にサニタイズされず(strip_tags のみが適用されるためイベントハンドラは削除されません)、出力時にもエンコードされないため、保存型 XSS につながります。

    • 入力処理(src/PropertyAssign.php): プロパティ値を strip_tags() を適用するだけで保存するため、onerror などのイベントハンドラ属性が許可されます。
    • 脆弱な出力シンク(src/PersonView.php): 保存されたプロパティ値を htmlspecialchars() を使用せずに HTML に直接レンダリングするため、ペイロードが実行されます。
      // src/PersonView.php, line ~722
      <td><?= $r2p_Value ?></td> // Vulnerable: Raw output
      

PoC

この概念実証(PoC)は、特定の中間レベルの権限を持つユーザーが、メイン管理者のプロフィールに保存型 XSS ペイロードを注入できる方法を示しています。

前提条件:

  • 攻撃者は、次の2つの特定の権限が有効なアカウントを持っています。
    1. Edit Records
    2. Manage Properties and Classifications

シナリオ:

  1. 攻撃者としてログイン: 上記の権限を持つユーザーとしてログインします。
image
  1. 管理者を標的にする: 通常 PersonID=1 である管理者のプロフィールページに直接移動します。
    http://localhost:8101/PersonView.php?PersonID=1
    
    (PersonView.php の IDOR によりアクセスが許可されます)。
image
  1. ペイロードを注入:
    • 管理者のプロフィールページで、Assigned Properties(割り当て済みプロパティ) タブまでスクロールダウンします。
    • 「Assign a New Property」フォームで、テキストベースのプロパティ(例: ("Test"))を選択します。(このフォームは「Edit Records」権限により表示されます)。
    • 表示される Value テキストエリアに、次の XSS ペイロードを入力します。
    • 「Assign」ボタンをクリックします。ペイロードは管理者のレコードに保存されます。(この割り当ては、PropertyAssign.php の Broken Access Control により可能です)。
image image
  1. 攻撃をトリガー:
    • 攻撃者は、管理者がログインして自分のプロフィールを表示するのを待ちます。
    • 管理者が自分のプロフィールページ(PersonView.php?PersonID=1)に移動すると、ペイロードが即座に実行され、アラートボックスが表示されます。攻撃者は、より高度なペイロードを使用して管理者のセッション Cookie を盗むこともできます。
image image

影響

これは重大な特権昇格の脆弱性です。特定の昇格された(ただし管理者ではない)権限を持つユーザーが、管理者アカウントの完全な制御を取得できるようになります。管理者のセッションをハイジャックすることで、攻撃者は新しい管理者アカウントの作成やデータの削除など、管理者が利用可能なあらゆる操作を実行でき、さらに他の脆弱性と連鎖させてサーバー全体を侵害する可能性もあります。

謝辞

報告者: Łukasz Rybak

参照

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-fcw7-mmfh-7vjm

免責事項

本 CVE は、協調的な脆弱性開示(Coordinated Vulnerability Disclosure)の慣行に従い、責任を持って開示されました。ここに記載された情報は、教育および防御目的のみを目的としています。

ツールをダウンロード