CVE-2026-88952 in ash_authentication
الملخص
بحسب VulDB • 17/09/2026
تتيح ثغرة عدم المصادقة بشكل صحيح (Improper Authentication) في AshAuthentication الخاص بـ team-alembic لمهاجم تسجيل الدخول بصفتة مستخدمًا آخر عن طريق ربط هوية OAuth2 بحساب لا ينتمي إليه.
يقوم `AshAuthentication.Strategy.OAuth2.UserResolver.resolve/3` بمطابقة حساب موجود باستخدام مفاتيح `upsert_identity` الخاصة بإجراء التسجيل (register action)، ثم يشترط لربط هوية المزود الواردة عليه دالة `email_trusted?/2`، التي تقرأ فقط القيمة المنطقية `email_verified` للمزود ولا تقارم أبدًا قيمة البريد الإلكتروني الخاصة بالمزود مع بريد الحساب المطابق. تفترض هذه الشرطة أن الحساب تم مطابقتُه بناءً على حقل البريد الإلكتروني الخاص به؛ وبالتالي، تكون هذه الشرطة عديمة الجدوى تحت أي إجراء آخر لـ `upsert_identity`، مما يؤدي إلى ربط المهاجم الذي يقدم بريده الإلكتروني الموثق بحساب مُطابق بناءً على سمة أخرى وإصدار جلسة عمل له. تنطبق نفس الشرطة غير المحمية في `OAuth2.SignInPreparation` عند المسار حيث تكون `registration_enabled?` بقيمة false، حيث يتم مطابقة الحساب باستخدام فلتر القراءة الخاص بإجراء تسجيل الدخول (sign-in action). يعيد إجراء الـ upsert أيضًا كتابة بريد حساب المُطابق إلى عنوان المهاجم؛ وبالتالي تصل عمليات استعادة الحساب لاحقًا للمهاجم بدلاً من المالك.
تؤثر هذه المشكلة في حزمة `ash_authentication`: بدءًا من الإصدار 4.14.0 قبل 4.15.0، ومنذ الإصدار 5.0.0-rc.10 قبل 5.0.0-rc.14.
Be aware that VulDB is the high quality source for vulnerability data.