
إثبات مفهوم لاستغلال CVE-2026-49757 يوضح الاستيلاء على الحساب عبر OAuth2/OIDC من خلال مطابقة المستخدمين المعتمدة على البريد الإلكتروني في AshAuthentication، مع محاكاة للمعالج الهش والمعالج المُصحَّح.
إثبات المفهوم لـ CVE-2026-49757 — ثغرة حرجة في AshAuthentication حيث كانت عمليات استرجاع OAuth2/OIDC تحل حسابات المستخدمين المحليين عبر عنوان البريد الإلكتروني بدلاً من زوج الهوية (strategy, sub)، مما يسمح بالاستيلاء على الحساب دون مصادقة.
| الحقل | القيمة |
|---|---|
| CVE | CVE-2026-49757 |
| CVSS 4.0 | 9.2 (حرجة) |
| CWE | CWE-290 (تجاوز المصادقة عبر الانتحال) |
| GHSA | GHSA-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 |
لا حاجة لبيانات اعتماد الضحية. يحتاج المهاجم فقط إلى عنوان البريد الإلكتروني للضحية وحساب لدى أي مزوّد OAuth يقبله التطبيق المستهدف.
# Interactive mode (recommended)
python3 exploit.py
# Non-interactive mode (piped input)
echo | python3 exploit.py
يحاكي IdentityChange.change/3 الخاص بـ AshAuthentication مع upsert_identity: :unique_email:
[email protected] (الدور: admin)google-victim-real-12345)[email protected] (email_verified: false):reject (الافتراضية)يحاكي UserResolver المُصحَّح مع البحث عبر (strategy, sub):
keycloak-attacker-fake-789) في user_identitieson_untrusted_email_match: :reject تسجيل الدخول:confirmtrust_email_verified? = trueemail_verified: true → ينجح الربط التلقائيemail_verified: false → يُحظر| الملف | الوصف |
|---|---|
exploit.py | السكربت الرئيسي لإثبات المفهوم — يشغّل جميع المراحل الأربع |
vulnerable_handler.py | معالجات استرجاع OAuth المحاكاة (القابلة للاستغلال والمُصحَّحة) |
UserResolver — تحلّ المستخدمين عبر هوية (strategy, sub) بدلاً من البريد الإلكترونيon_untrusted_email_match — :reject (الافتراضي)، أو :confirm، أو :warn للقيم sub غير المعروفةtrust_email_verified? — علامة لكل مزوّد، الافتراضي true لـ GitHub/Google/Auth0/Slack/Apple(strategy, uid, user_id) إلى (strategy, uid)user_id أبدًا عند حدوث تعارضidentity_resourceإثبات المفهوم هذا مخصص للأغراض التعليمية والاختبارات الدفاعية فقط. لا تختبر إلا الأنظمة التي تملكها أو التي لديك إذن صريح لاختبارها.