
تصعيد امتيازات مستخدم مُصادَق إلى صلاحيات المدير عبر استغلال Uncanny Groups الخاصة بـ LearnDash.
Uncanny Groups for LearnDash (uncanny-learndash-group) هو إضافة تابعة لجهة خارجية لمنصة LearnDash LMS (sfwd-lms). تتيح الإضافة لقادة المجموعات (دور LearnDash مخصص) إدارة مستخدمي مجموعات LearnDash الخاصة بهم من الواجهة الأمامية.
يمكن لقادة المجموعات إضافة المستخدمين الحاليين إلى مجموعاتهم. تتم إضافة المستخدمين الحاليين تلقائيًا (أي لا يتعين عليهم قبول أي دعوات).
إذا قام مسؤول الموقع بتمكين ميزة الإضافة المسماة "السماح لقادة المجموعات بتحرير المستخدمين"، يمكن لقادة المجموعات أيضًا تغيير أسماء وعناوين البريد الإلكتروني لأعضاء مجموعاتهم (المستخدمين). هذه الميزة معطلة افتراضيًا.
يمكن لقائد المجموعة تغيير عنوان البريد الإلكتروني لأحد المسؤولين وبالتالي الحصول على صلاحيات المسؤول إذا تم تمكين إعداد "السماح لقادة المجموعات بتحرير المستخدمين". عند استغلالها بالتزامن مع CVE-2024-8350، يمكن لجميع قادة المجموعات أن يصبحوا مسؤولين بغض النظر عن حالة إعداد "السماح لقادة المجموعات بتحرير المستخدمين".
لا تتحقق الإضافة من دور أعضاء المجموعة الحاليين (المستخدمين) عند إضافتهم إلى مجموعات جديدة. إذا تم تمكين "السماح لقادة المجموعات بتحرير المستخدمين"، يمكن لقائد المجموعة بذلك الحصول على صلاحيات المسؤول على الموقع عن طريق إضافة مسؤول حالي إلى مجموعته. بعد إضافة مسؤول حالي إلى المجموعة، يقوم قائد المجموعة فقط بتغيير عنوان البريد الإلكتروني للمسؤول وإعادة تعيين كلمة المرور.
نشرت Uncanny Owl تصحيحًا غير كافٍ (6.1.0.1) في 2024-08-26. لم يعد بالإمكان استغلال الثغرة لتصبح مسؤولًا (إلا بالتزامن مع CVE-2024-8350)، لكنها ما زالت تسمح لأي قائد مجموعة بأن يصبح محررًا (أو أقل). كان يجب تمكين "السماح لقادة المجموعات بتحرير المستخدمين".
نشرت Uncanny Owl تصحيحًا كاملًا (6.1.1) في 2024-09-11.
يمكن لقائد المجموعة تغيير بيانات الاتصال الخاصة بأي مستخدم بسبب عدم وجود فحص صلاحيات في REST API. عند استغلالها بالتزامن مع CVE-2024-8349، يمكن لجميع قادة المجموعات منح أنفسهم صلاحيات المسؤول.
تحتوي الإضافة على إعداد صلاحيات على مستوى الموقع بالكامل يسمى "السماح لقادة المجموعات بتحرير المستخدمين". عند تمكينه، يمكن لقادة المجموعات تغيير أسماء وعناوين البريد الإلكتروني لأعضاء مجموعاتهم (المستخدمين). هذه الميزة معطلة افتراضيًا.
ومع ذلك، فإن ترك الميزة معطلة لا يمنع سوى ظهور الإعداد في الواجهة الأمامية. لا يزال بإمكان قائد المجموعة إرسال طلبات POST بنفس الإجراءات. وبما أن قادة المجموعات يمكنهم إضافة جميع المستخدمين إلى مجموعاتهم، يمكنهم أيضًا تغيير أسماء وعناوين البريد الإلكتروني لجميع المستخدمين.
https://example.com/wp-json/ulgm_management/v1/edit_user/?
action=edit-user&group-id={Group ID}&edit-user-id={user ID}&first_name=Lorem&last_name=Ipsum&email={attacker’s email address}
(يمكن العثور على معرف المجموعة ومعرف المستخدم كجزء من محتوى الصفحة.)
عند استغلالها بالتزامن مع CVE-2024-8349، يمكن لجميع قادة المجموعات منح أنفسهم صلاحيات المسؤول.
نشرت Uncanny Owl تصحيحًا غير كافٍ (6.1.0.1) في 2024-08-26. تم تصحيح الثغرة جزئيًا ولكن، مرة أخرى، في الواجهة الأمامية فقط. كان يجب تمكين إعداد "السماح لقادة المجموعات بتحرير المستخدمين".
إذا كان لدى قائد المجموعة مسؤول ضمن مجموعته، فلن يتمكن قائد المجموعة بعد الآن من عرض النافذة المنبثقة لتغيير عنوان البريد الإلكتروني للمسؤول. ومع ذلك، ما زال REST API يسمح لقائد المجموعة بفعل ذلك.
ما زال بإمكان قائد المجموعة أن يصبح مسؤولًا عبر استغلال CVE-2024-8350 بالتزامن مع CVE-2024-8349. كان على قائد المجموعة أولًا إضافة محرر إلى مجموعته والاستيلاء على حساب المحرر. يمكن لقائد المجموعة (الذي أصبح الآن محررًا) بعد ذلك إضافة مسؤول من الواجهة الخلفية لـ LearnDash وتغيير عنوان البريد الإلكتروني للمسؤول عبر REST API الخاص بـ Uncanny Groups.
نشرت Uncanny Owl تصحيحًا كاملًا (6.1.1) في 2024-09-11.
تعاملت Uncanny Owl مع تقارير الثغرات بشكل جيد وعالجت الثغرات خلال نافذة الإفصاح المسؤول البالغة 90 يومًا.
يجب أن يدرك مسؤولو الموقع أن قائد المجموعة أ يمكنه إضافة مستخدم يعد جزءًا من المجموعة ب دون موافقة المستخدم. يمكن أن تشكل هذه مسألة سرية ومشكلة امتثال للائحة العامة لحماية البيانات (GDPR) إذا كانت المجموعة أ والمجموعة ب على سبيل المثال شركتين مختلفتين. ومع ذلك، فهي ليست ثغرة لأن هذه هي الطريقة التي صُممت الإضافة للعمل بها.
لقد قدمت طلب إضافة ميزة لمعالجة هذه المسألة السرية في عام 2021. ستعيد Uncanny Owl الآن النظر في طلب الميزة الخاص بي. يمكن للمواقع المتأثرة في هذه الأثناء تنفيذ حلولها البديلة الخاصة باستخدام مرشح ulgm_gdpr_is_group_leader_allowed وتجاوزات قوالب الواجهة الأمامية المخصصة.