
إثبات مفهوم لاستغلال CVE-2026-73313، وهو تجاوز للمصادقة متعددة العوامل (MFA) في مزوّد TFA لمفاتيح المرور في XenForo، مما يسمح بالاستيلاء على الحساب بعد اختراق كلمة المرور.
يمكن لـ XenForo قبل الإصدار 2.3.13 إكمال تسجيل الدخول بخطوتين لأحد المستخدمين باستخدام مفتاح مرور (passkey) مملوك لمستخدم مختلف.
يقوم مدير مفاتيح المرور بإجراء بحث عام باستخدام معرّف الاعتماد (credential ID) المقدَّم في التأكيد، ويتحقق بشكل صحيح من توقيع WebAuthn الخاص بذلك الاعتماد. ثم يختزل موفّر المصادقة الثنائية (TFA) النتيجة إلى قيمة منطقية (boolean) دون التحقق من أن مالك الاعتماد يطابق المستخدم الذي تنتظر كلمة مروره عملية تسجيل الدخول.
يمكن للمهاجم الذي يعرف كلمة مرور الضحية الصحيحة أن يجيب على تحدي مفتاح مرور الضحية باستخدام مفتاح المرور المسجَّل الخاص بالمهاجم نفسه. يكتمل تسجيل الدخول بهوية الضحية. كما أثر التدفق المشترك على تسجيل دخول لوحة التحكم (ACP) عندما كانت الضحية مسؤولاً.
هذا تجاوز للمصادقة الثنائية (MFA) بعد اختراق العامل الأول، وليس استيلاءً بدون كلمة مرور. يحتاج المهاجم إلى مفتاح مرور صالح خاص به، وكلمة مرور الضحية، وحساب ضحية مُهيَّأ لمصادقة TFA عبر مفتاح المرور.
أعدت إنتاج تدفقي الواجهة العامة ولوحة التحكم (ACP) على XenForo 2.3.12 (build 2031270). يحتوي XenForo 2.3.13 على الإصلاح.
ثبّت التبعيتين، وجهّز مستخدمين مؤقتين (مهاجم/ضحية) واعتماد اختبار مملوك للمهاجم، ثم شغّل:
python -m pip install -r requirements.txt
python poc.py https://xenforo.example TARGET_USERNAME ATTACKER_CREDENTIAL_ID attacker-private-key.pem
تُقرأ كلمة مرور الضحية عبر موجه مخفي. لا يقوم السكربت بتجهيز المستخدمين، أو تعديل صفوف مفاتيح المرور، أو طباعة كلمة المرور، أو كتابة ملف أدلة. لا يحتوي مخرجه إلا على حالة HTTP وقيمة منطقية نهائية.
اكتُشف بواسطة Marco Paciaroni (BomboBombone).