Aad Authentication Plugin
يحتوي تطبيق المصادقة في Azure Active Directory (AAD) على نقاط ضعف متعددة في تدفق التفويض OAuth 2.0. يستخدم التطبيق معرف الجلسة في PHP `session id()` كمعلمة حالة OAuth، مما قد يؤدي إلى تسرب رموز الجلسة الصالحة عبر سجل المتصفح، أو رؤوس HTTP Referer، أو الوكلاء العكسيين، أو سجلات الوصول، مما قد يؤدي إلى اختطاف الجلسة. يفشل التطبيق في إعادة إنشاء معرف الجلسة بعد نجاح المصادقة، مما يجعل الجلسات عرضة لتثبيت الجلسة. علاوة على ذلك، فإن قيمة حالة OAuth ليست رقمًا عشوائيًا (nonce) للاستخدام مرة واحدة، مما يضعف الحماية من هجمات CSRF ويزيد من خطر هجمات إعادة التشغيل. ولا يفرض مسار العملية استخدام HTTPS لعنوان URI لإعادة التوجيه المكون في OAuth، مما يسمح بنقل رموز التفويض ورموز الوصول بنص عادي. بالإضافة إلى ذلك، يتم تسجيل استجابات أخطاء OAuth التي تحتوي على معلمات GET يسيطر عليها المهاجم دون تنقية، مما يتيح تزوير السجلات أو حقنها.