
إثبات مفهوم للاستغلال وشرح تقني لثغرة CVE-2026-73317، وهي تجاوز للتفويض في XenForo تسمح للمشرفين المحدودين بالموافقة على المحتوى كمستخدم آخر عبر مُوجّه إعادة بناء ذاكرة التخزين المؤقت في لوحة التحكم (ACP).
XenForo قبل الإصدار 2.3.13 يسمح للمسؤول الذي يملك فقط صلاحية إعادة بناء ذاكرة التخزين المؤقت (cache-rebuild) بإرسال مهمة موافقة كمستخدم آخر.
تقبل نقطة نهاية إعادة البناء في لوحة التحكم (ACP) فئة خيارات المهمة المقدمة من المتصل. يتحقق فحص التفويض الخاص بها فقط مما إذا كانت المهمة المختارة تُعلن عن نفسها كقابلة للتفعيل من قبل المستخدم. يجتاز XF:ApprovalQueueProcess هذا الفحص ويقبل كلاً من إجراء الموافقة وقيمة asUserId.
تُنفَّذ المهمة داخل XF::asVisitor() كالحساب المحدد. وبالتالي، يمكن لمسؤول محدود الصلاحيات الموافقة على المحتوى المعلق دون امتلاك صلاحية قائمة الموافقة أو صلاحية المشرف، ويُنسب سجل الإشراف (moderation log) الإجراء إلى المستخدم المنتحَل.
أعدت إنتاج الحالة الأدنى على XenForo 2.3.12 (build 2031270): مسؤول غير خارق يملك فقط rebuildCache لم يتمكن من فتح قائمة الموافقة لكنه وافق على مستخدم واحد مُراقَب قابل للاستهلاك عبر المهمة المخفية. يحتوي XenForo 2.3.13 على الإصلاح.
python poc.py https://xenforo.example LIMITED_ADMIN AS_USER_ID DISPOSABLE_MODERATED_USER_ID --confirm
تُقرأ كلمة المرور عبر موجه مخفي. يقوم السكربت بموافقة واحدة تُغيّر الحالة، لذا استخدم فقط مستخدمين قابلين للاستهلاك وراجع سجل المشرف بعد ذلك.
اكتُشف بواسطة Marco Paciaroni (BomboBombone).