Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-24055-OAuth-Langfuse | Kitploit
أدوات/GitHubGitHub/imzanggg/cve-2026-24055-oauth-langfuse
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار أمان APIالتعلم والتعليممختبرات وتدريب عملي
GitHubimzanggg/cve-2026-24055-oauth-langfuse

CVE-2026-24055-OAuth-Langfuse

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-24055 — تثبيت Slack OAuth غير المُصادَق عليه في Langfuse

مشروع مادة أمن الويب والتطبيقات — المجموعة 06، صف NT213.Q21.ANTT

📌 ملخص

يعيد المشروع إنتاج ثغرة أمنية حقيقية تم الإعلان عنها (CVE-2026-24055) على منصة Langfuse — وهي نقطة نهاية OAuth تتيح للمهاجم الاستيلاء على ربط مساحة عمل Slack بمشروع شخص آخر دون الحاجة إلى تسجيل الدخول.

يتضمن المشروع: إعداد بيئة Docker تحاكي كلاً من الإصدار المصاب والإصدار المُرقَّع، وتنفيذ الاستغلال خطوة بخطوة، والتحقق من أن الترقيع يعمل بشكل صحيح. ومن خلال ذلك، يتم التدرب على تحليل ثغرة التحكم في الوصول (Access Control) في تدفق OAuth، وهي مهارة تُطبَّق مباشرة عند بناء أو تدقيق أنظمة المصادقة على الويب.

المهارات المُظهَرة: تحليل تدفق OAuth2، Docker، قراءة التنبيهات الأمنية، كتابة التقارير الفنية، اختبار الأمان (security testing).


جدول المحتويات

  • وصف الثغرة
  • متطلبات النظام
  • التحضير قبل التشغيل
  • عرض الاستغلال — Vulnerable v3.146.0
  • التحقق من الترقيع — Patched v3.147.0
  • إيقاف البيئة
  • المراجع

وصف الثغرة

CVE-2026-24055 هي ثغرة Improper Access Control في Langfuse من الإصدار 3.89.0 إلى 3.146.0.

نقطة النهاية /api/public/slack/install لا تتطلب المصادقة، مما يتيح للمهاجم ربط مساحة عمل Slack الخاصة به بأي مشروع بمجرد معرفة projectId. عندما ينشئ الضحية أتمتة لإرسال الإشعارات إلى Slack، سيتم تسريب كامل محتوى الـ prompt إلى مساحة عمل المهاجم.

الخاصيةالتفاصيل
CWECWE-284 — Improper Access Control
الإصدارات المتأثرةLangfuse 3.89.0 – 3.146.0
الإصدار المُرقَّعLangfuse 3.147.0
GitHub AdvisoryGHSA-pvq7-vvfj-p98x
NVDCVE-2026-24055

تدفق الهجوم

Sequence Diagram


متطلبات النظام

الأداةالحد الأدنى للإصدار
Docker Desktop24.0+
Docker Composev2
Gitأي إصدار
RAM8 GB

التحضير قبل التشغيل

إنشاء Slack App

يتيح Slack API استخدام http://localhost:3000 كـ Redirect URL.

  1. انتقل إلى https://api.slack.com/apps → Create New App → From scratch
  2. أدخل اسم التطبيق، واختر مساحة العمل
  3. انتقل إلى OAuth & Permissions → Redirect URLs → أضف:
    http://localhost:3000
    
  4. احفظ Client ID و Client Secret

عرض الاستغلال — Vulnerable v3.146

الخطوة 1 — إعداد البيئة

cd vulnerable
cp .env.example .env

افتح ملف .env، واملأ القيم التالية:

NEXTAUTH_URL=http://localhost:3000
SLACK_CLIENT_ID=<your-slack-client-id>
SLACK_CLIENT_SECRET=<your-slack-client-secret>
SLACK_STATE_SECRET=any-random-string

الخطوة 2 — تشغيل Langfuse v3.146.0

docker compose up -d

تحقق من جاهزية الحاويات:

docker compose ps

انتظر حوالي 30–60 ثانية. يجب أن تكون جميع الحاويات في حالة Up (healthy).

الخطوة 3 — إنشاء الحسابات

انتقل إلى http://localhost:3000:

  1. حساب الضحية (Victim)

    • سجّل حساباً، وأنشئ Organization → ثم أنشئ Project
    • انتقل إلى Settings → ودوّن Project ID
  2. حساب المهاجم (Attacker)

    • افتح تبويب تصفح متخفٍّ، وسجّل حساباً آخر (أو دون تسجيل الدخول)

الخطوة 4 — تنفيذ الاستغلال

من متصفح المهاجم (دون الحاجة إلى تسجيل الدخول إلى Langfuse)، انتقل إلى:

http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>

ما يحدث:

  • الخادم لا يتحقق من المصادقة، ويعيد التوجيه مباشرة إلى Slack OAuth
  • سجّل الدخول إلى مساحة عمل Slack الخاصة بالمهاجم → اضغط Allow
  • تم ربط مساحة عمل المهاجم بمشروع الضحية

الخطوة 5 — تأكيد تسرب البيانات

سجّل الدخول بحساب الضحية:

  1. انتقل إلى Settings → Integrations → تحقق من أن Slack متصل (مساحة عمل المهاجم)
  2. أنشئ Automation: Prompts → Automations → New
    • Trigger: Prompt created / updated / deleted
    • Action: Slack → اختر القناة
  3. أنشئ الضحية prompt جديداً
  4. يستقبل Slack الخاص بالمهاجم إشعاراً يحتوي على بيانات الـ prompt الوصفية (الاسم، الإصدار، التسميات، الوسوم)

التحقق من الترقيع — Patched v3.147

الخطوة 1 — إيقاف البيئة القديمة

cd ../vulnerable
docker compose down

الخطوة 2 — تشغيل Langfuse v3.147.0

cd ../patched
cp .env.example .env
# املأ القيم نفسها كما في قسم vulnerable
docker compose up -d

الخطوة 3 — إعادة تنفيذ الاستغلال

جرّب دون تسجيل الدخول:

http://localhost:3000/api/public/slack/install?projectId=<any-project-id>

النتيجة المتوقعة — HTTP 401:

{ "error": "Authentication required" }

جرّب تسجيل الدخول كمهاجم، باستخدام projectId الخاص بالضحية:

http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>

النتيجة المتوقعة — HTTP 403:

{ "error": "You do not have permission to configure Slack for this project" }

تم ترقيع الثغرة بالكامل.


إيقاف البيئة

docker compose down

إذا أردت حذف جميع البيانات (volumes):

docker compose down -v

هيكل المجلدات

cve-2026-24055/
├── README.md                  ← هذا الملف
├── vulnerable/
│   ├── docker-compose.yml     ← Langfuse v3.146.0 (مصاب)
│   └── .env.example
└── patched/
    ├── docker-compose.yml     ← Langfuse v3.147.0 (مُرقَّع)
    └── .env.example

المراجع

  • GitHub Security Advisory — GHSA-pvq7-vvfj-p98x
  • NVD — CVE-2026-24055
  • Commit fix — 3adc89e
تنزيل الأداة