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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ash-authentication-oauth2-oidc-account-takeover-cve-2026-49757-email-based-user-matching — إثبات مفهوم لاستغلال CVE-2026-49757 يوضح الاستيلاء على الحساب عبر OAuth2/OIDC من خلال مطابقة المستخدمين المعتمدة على البريد الإلكتروني في AshAuthentication، مع محاكاة للمعالج الهش والمعالج المُصحَّح. | Kitploit
أدوات/GitHubGitHub/hunt-benito/ash-authentication-oauth2-oidc-account-takeover-cve-2026-49757-email-based-user-matching
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالمصادقةالتعلم والتعليم

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
hunt-benito/ash-authentication-oauth2-oidc-account-takeover-cve-2026-49757-email-based-user-matching

ash-authentication-oauth2-oidc-account-takeover-cve-2026-49757-email-based-user-matching

إثبات مفهوم لاستغلال CVE-2026-49757 يوضح الاستيلاء على الحساب عبر OAuth2/OIDC من خلال مطابقة المستخدمين المعتمدة على البريد الإلكتروني في AshAuthentication، مع محاكاة للمعالج الهش والمعالج المُصحَّح.

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

CVE-2026-49757 — الاستيلاء على الحساب عبر OAuth2/OIDC في AshAuthentication

إثبات المفهوم لـ CVE-2026-49757 — ثغرة حرجة في AshAuthentication حيث كانت عمليات استرجاع OAuth2/OIDC تحل حسابات المستخدمين المحليين عبر عنوان البريد الإلكتروني بدلاً من زوج الهوية (strategy, sub)، مما يسمح بالاستيلاء على الحساب دون مصادقة.

الحقلالقيمة
CVECVE-2026-49757
CVSS 4.09.2 (حرجة)
CWECWE-290 (تجاوز المصادقة عبر الانتحال)
GHSAGHSA-777c-2fxx-qr28
المتأثرash_authentication >= 0.1.0, < 4.14.0 و >= 5.0.0-rc.0, < 5.0.0-rc.10
تم التصحيح4.14.0, 5.0.0-rc.10

ملخص الهجوم

  1. يسجّل الضحية في تطبيق مستهدف يستخدم AshAuthentication
  2. يسجّل المهاجم لدى أي مزوّد OAuth مقبول باستخدام البريد الإلكتروني للضحية
  3. يسجّل المهاجم الدخول عبر OAuth — يطابق التطبيق حسب البريد الإلكتروني وينشئ جلسة لحساب الضحية

لا حاجة لبيانات اعتماد الضحية. يحتاج المهاجم فقط إلى عنوان البريد الإلكتروني للضحية وحساب لدى أي مزوّد OAuth يقبله التطبيق المستهدف.

المتطلبات

  • Python 3.8+
  • المكتبة القياسية فقط (لا حاجة إلى تثبيت pip)

الاستخدام

root@kitploit:~
# Interactive mode (recommended)
python3 exploit.py

# Non-interactive mode (piped input)
echo | python3 exploit.py

ما الذي يوضحه إثبات المفهوم (PoC)

المرحلة 1: المعالج القابل للاستغلال (مطابقة البريد الإلكتروني)

يحاكي IdentityChange.change/3 الخاص بـ AshAuthentication مع upsert_identity: :unique_email:

  • يسجّل الضحية باستخدام [email protected] (الدور: admin)
  • يربط الضحية حساب Google OAuth (sub: google-victim-real-12345)
  • يسجّل المهاجم على Keycloak باستخدام [email protected] (email_verified: false)
  • يبدأ المهاجم تسجيل دخول OAuth → يطابق التطبيق حسب البريد الإلكتروني → يحصل المهاجم على جلسة الضحية

المرحلة 2: المعالج المُصحَّح — سياسة :reject (الافتراضية)

يحاكي UserResolver المُصحَّح مع البحث عبر (strategy, sub):

  • لا يتم العثور على قيمة sub الخاصة بالمهاجم (keycloak-attacker-fake-789) في user_identities
  • يمنع on_untrusted_email_match: :reject تسجيل الدخول
  • تم منع الهجوم

المرحلة 3: المعالج المُصحَّح — سياسة :confirm

  • يحاول المهاجم تسجيل الدخول عبر OAuth باستخدام البريد الإلكتروني للضحية
  • يرسل النظام رمز تأكيد إلى البريد الإلكتروني للضحية
  • لا يتم ربط الهوية إلا إذا أكّد الضحية ذلك
  • تم منع الهجوم (لا يتحكم المهاجم في صندوق البريد الإلكتروني)

المرحلة 4: المعالج المُصحَّح — trust_email_verified? = true

  • يسجّل مستخدم شرعي الدخول عبر Google مع email_verified: true → ينجح الربط التلقائي
  • يسجّل المهاجم الدخول عبر Keycloak مع email_verified: false → يُحظر
  • الحفاظ على سهولة الاستخدام للمزوّدين الموثوقين والسلامة لغير الموثوقين

الملفات

الملفالوصف
exploit.pyالسكربت الرئيسي لإثبات المفهوم — يشغّل جميع المراحل الأربع
vulnerable_handler.pyمعالجات استرجاع OAuth المحاكاة (القابلة للاستغلال والمُصحَّحة)

الإصلاح (ash_authentication >= 4.14.0)

  1. وحدة UserResolver — تحلّ المستخدمين عبر هوية (strategy, sub) بدلاً من البريد الإلكتروني
  2. خيار on_untrusted_email_match — :reject (الافتراضي)، أو :confirm، أو :warn للقيم sub غير المعروفة
  3. خيار trust_email_verified? — علامة لكل مزوّد، الافتراضي true لـ GitHub/Google/Auth0/Slack/Apple
  4. المفتاح الفريد للهوية — تغيّر من (strategy, uid, user_id) إلى (strategy, uid)
  5. قيود upsert — لا يتم تحديث user_id أبدًا عند حدوث تعارض
  6. تحذيرات وقت الترجمة — للاستراتيجيات التي لا تحتوي على identity_resource

المراجع

  • NVD — CVE-2026-49757
  • GHSA-777c-2fxx-qr28
  • OpenID Connect Core §5.7 — استقرار المطالبات
  • AshAuthentication على Hex.pm

إخلاء مسؤولية

إثبات المفهوم هذا مخصص للأغراض التعليمية والاختبارات الدفاعية فقط. لا تختبر إلا الأنظمة التي تملكها أو التي لديك إذن صريح لاختبارها.

تنزيل الأداة