
الإفصاح التفصيلي عن CVE-2024-1208 وCVE-2024-1210: كشف معلومات حساسة عبر REST API في إضافة LearnDash لووردبريس، مما يسمح بالوصول غير المُصادَق عليه إلى الاختبارات والأسئلة.
كشف معلومات حساسة عبر API في LearnDash. يمكن للزوار غير المصادقين تصفح الاختبارات وأسئلة الاختبارات دون أن يكونوا مسجلين في دورة متصلة.
يمكن لأي شخص، حتى الزوار غير المصادقين، رؤية جميع اختبارات LearnDash وجميع أسئلة اختبارات LearnDash. نظرًا لأن أسئلة الاختبارات عامة، فلا يمكن استخدامها للتحقق من معرفة الطالب.
LearnDash هو إضافة نظام إدارة التعلم (LMS) لووردبريس. يدعم نوعين مختلفين من الاختبارات. النوع الأقدم يسمى sfwd-quiz ويعتمد على أسئلة مرتبطة (sfwd-question). النوع الأحدث يخزن الاختبار مع أسئلته كمنشورات ld-exam.
لدى LearnDash ثلاث واجهات REST API: /wp/v2/ و /ldlms/v1/ و /ldlms/v2/ (حاليًا في مرحلة بيتا). جميع واجهات API، بما فيها واجهة البيتا، مفعلة افتراضيًا. يمكن تعطيل واجهات /ldlms/v1/ و /ldlms/v2/ لأنواع منشورات محددة باستخدام فلتر learndash_rest_api_enabled (انظر class-ld-rest-api.php).
الإصدارات المتأثرة من LearnDash (<=4.10.2) تنشر جميع الاختبارات وأسئلة الاختبارات للزوار غير المصادقين. يمكن للزائر تصفح (قراءة) جميع الأسئلة عن طريق استدعاء نقاط النهاية الخاصة بـ sfwd-question و ld-exam عبر واجهة REST API /wp/v2/. هذه الواجهة مفعلة افتراضيًا.
https://example.com/wp-json/wp/v2/sfwd-question
https://example.com/wp-json/wp/v2/ld-exam
يمكن للزائر أيضًا تصفح (قراءة) جميع الاختبارات عن طريق استدعاء نقطة نهاية sfwd-quiz عبر واجهة /ldlms/v1/. هذه الواجهة مفعلة افتراضيًا.
https://example.com/wp-json/ldlms/v1/sfwd-quiz
يمكن للزائر أيضًا الوصول إلى الاختبارات عبر واجهة /ldlms/v2/ إذا كان الزائر يعرف معرف منشور الاختبار (وهو مجرد عدد صحيح متزايد).
يمكن تعطيل واجهات /ldlms/v1/ و /ldlms/v2/ باستخدام فلتر learndash_rest_api_enabled، لكن هذا يفتح تسريب بيانات جديد. إذا قام مسؤول بتعطيل واجهات /ldlms/v1/ و /ldlms/v2/ لأي نوع منشور، فإن LearnDash ينشر جميع محتوى LearnDash الذي يمكن الوصول إليه عبر REST API عبر واجهة /wp/v2/ للزوار غير المصادقين، بما في ذلك الدروس والمواضيع.
تم إصدار LearnDash 4.10.2 في 2024-01-08. لم يعالج تسريبات البيانات، لكنه جعل من الممكن تعطيل واجهات /ldlms/v1/ و /ldlms/v2/ دون الكشف عن المزيد من المعلومات عبر واجهة /wp/v2/.
تم إصدار LearnDash 4.10.3 في 2024-01-31 وعالج الثغرات.
تعاملت LearnDash مع تقارير الثغرات بشكل جيد وعالجت الثغرات خلال نافذة الإفصاح المسؤول البالغة 90 يومًا.