وصف المشكلة
خلال مراجعة أمنية لنشر Discourse المخصص لدينا، وجدنا احتمال تسرب معلومات حساسة في واجهة المسؤول
الإعدادات فيما يتعلق بأسرار عميل OAuth2.
التفاصيل
-
في صفحة تكوين المسؤول، يتم عرض سر عميل OAuth2 (وربما رموز/مفاتيح حساسة أخرى) كنص عادي، بدلاً من إخفائها (على سبيل المثال، باستخدام علامات النجمة).
-
يُطلب من المسؤولين إدخال السر العادي مباشرة في الإعدادات. يمكن لأي شخص لديه وصول إلى واجهة المسؤول رؤية السر بالكامل.
-
إذا حصل مهاجم على وصول (حتى مؤقتًا) إلى جلسة مسؤول، فيمكنه بسهولة الحصول على سر العميل واستخدامه لطلبات رموز OAuth2 غير المصرح بها أو لتزوير الطلبات إلى خدمات خارجية.
التأثير الأمني
-
يؤدي التعرض النصي العادي للأسرار في واجهة المسؤول إلى زيادة خطر تسرب بيانات الاعتماد.
-
عدم الإخفاء لا يتماشى مع أفضل الممارسات الأمنية للتعامل مع الأسرار.
-
يمكن إساءة استخدام الأسرار/الرموز لتصعيد الامتيازات، أو انتحال الهوية، أو لمزيد من الهجمات ضد الخدمات المتكاملة.
أسئلة
-
هل هناك خطة لإخفاء الحقول الحساسة مثل أسرار OAuth2 في واجهة إعدادات المسؤول (على سبيل المثال، عرضها كـ ****** مع خيار الكشف عنها إذا لزم الأمر)؟
-
هل هناك أساليب موصى بها أو إضافات لتعزيز حماية بيانات الاعتماد الحساسة في عمليات نشر Discourse؟
-
هل تمت مناقشة هذه المشكلة سابقًا؟ هل هناك حلول بديلة متاحة حتى يتم إصلاحها رسميًا؟
شكراً لاهتمامكم بهذا الشأن الأمني الهام!