Spid.Aspnetcore.Authentication
اسم البرنامج المعرض للخطر والإصدارات المتأثرة:
SPID.AspNetCore.Authentication الإصدارات الأقدم من 3.4.0
الوصف:
تتعلق المشكلة بمنطق التحقق من صحة تأكيدات SAML في مكتبة SPID.AspNetCore.Authentication. يمكن للمهاجم إنشاء استجابة SAML عشوائية يتم قبولها من قبل مزودي الخدمة (SPs) الذين يستخدمون حزم SDK المعرضة للخطر، مما يتيح لهم انتحال هوية أي مستخدم SPID و/أو CIE. تستند هذه الثغرة الأمنية إلى حقيقة أنه لا يوجد ضمان بأن التوقيع الأول يشير إلى الكائن الجذري، وإذا قام المهاجم بإدخال عنصر موقّع كأول عنصر، فلن يتم التحقق من جميع التوقيعات الأخرى. الشرط الوحيد هو امتلاك عنصر XML موقّع بشكل شرعي من قبل مزود الهوية (IdP)، وهو ما يمكن تحقيقه بسهولة باستخدام البيانات الوصفية العامة لمزود الهوية.
التوصيات:
بالنسبة للإصدارات الأقدم من 3.4.0، قم بالتحديث إلى الإصدار 3.4.0 أو أعلى لحل المشكلة. كحل مؤقت، ضع في اعتبارك التحقق من جميع التوقيعات داخل استجابة SAML وعدم قبول عناصر XML غير الموقعة. قم بتقييد الوصول إلى الوظيفة المعرضة للثغرة `VerifySignature` حتى يتوفر تصحيح. تجنب استخدام المعلمة `signedDocument` في نقطة نهاية واجهة برمجة التطبيقات (API) المتأثرة حتى يتم حل المشكلة.