
# أداة إثبات مفهوم آلية لـ CVE-2026-48611 — تجاوز المصادقة عبر OAuth login_link في phpBB
استخدمه على مسؤوليتك الخاصة.
هذه الأداة مقدمة حصريًا لأغراض البحث الأمني المرخّص، واختبار الاختراق، والأغراض التعليمية. قم بتشغيلها فقط ضد الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها.
المؤلف ليس مسؤولًا أو ملزمًا عن أي استخدام غير قانوني أو غير أخلاقي لهذه الأداة، أو عن أي عواقب تنتج عن هذا الاستخدام. تقع المسؤولية القانونية والأخلاقية الكاملة عن كيفية تشغيل هذه الأداة على الشخص الذي يقوم بتشغيلها فقط — المؤلف لا يشارك في، أو يؤيد، أو يتغاضى عن الاستخدام غير المصرح به لهذا البرنامج.
PoC آلي لثغرة تجاوز المصادقة login_link الخاصة بـ OAuth في phpBB
نشرت phpBB ثغرة CVE-2026-48611 مع توثيق تقني للخلل، لكن لم يكن هناك أي استغلال آلي يعمل متاحًا للجمهور في أي مكان باستثناء تفاصيل الحمولة في إعلان Pentest-Tools.com الخاص — كل شيء آخر كان اختبارًا يدويًا لمرة واحدة. هذا يسد تلك الفجوة: سكربت واحد يكتشف تثبيت phpBB المعرض للخطر، ويحدد موقع لوحة تسجيل الدخول الخاصة به، وينفذ التجاوز الفعلي من البداية إلى النهاية.
تم اكتشاف هذه الثغرة والإبلاغ عنها بمسؤولية بواسطة Dan Stefan Alexandru من فريق أبحاث الأمن في Pentest-Tools.com، وتم الإبلاغ عنها إلى phpBB في 4 يونيو 2026. هذا المستودع هو PoC آلي مستقل مبني من الإعلان العام — وهو غير تابع لـ Pentest-Tools.com أو phpBB.
يدعم phpBB تسجيل الدخول من خلال مزود هوية خارجي (OAuth) بدلاً من كلمة مرور محلية — آلية المصادقة الخاصة بـ Apache هي أحد المزودين المدعومين. نقطة النهاية التي تتعامل مع هذا، ucp.php?mode=login_link&auth_provider=apache، تأخذ اسم المستخدم مباشرة من رأس HTTP Authorization: Basic وتبدأ جلسة مصادقة لهذا المستخدم.
الخلل: لا يتحقق أبدًا من جزء كلمة المرور من ذلك الرأس فعليًا. تسجيل الدخول العادي يرفضك إذا كانت كلمة المرور خاطئة. هذا لا يفعل ذلك — يثق بأي اسم مستخدم تدعيه ويسجل دخولك به بغض النظر عن قيمة كلمة المرور التي ترسلها. أي اسم مستخدم مسجل بالإضافة إلى كلمة مرور مختلقة كافية للحصول على جلسة مصادقة كاملة.
styles/prosilver/style.cfg، أو composer.json، أو styles/subsilver2/style.cfg، أو feed.php، وتجرب كل واحد بدوره حتى يكشف أحدها عن سلسلة إصدار.ucp.php بنفسها إذا أعطيتها نطاقًا مجردًا فقط — زحف محدود بنفس الأصل أولاً، ثم تتراجع إلى فحص مسارات التثبيت الشائعة (forum/، board/، phpBB3/، إلخ).--no-browser لطلبات HTTP عادية أسرع عندما لا يكون الهدف محميًا بالتحديات. تحاول أيضًا العثور على عنوان IP الأصلي الحقيقي غير التابع لـ Cloudflare للنطاق (عبر عمليات بحث شهادات crt.name + فحص النطاقات الفرعية الشائعة للإدارة/البريد) وتوجه الطلبات مباشرة هناك عندما يتم تأكيد واحد.login_link المصمم، وتتحقق من أن الجلسة الناتجة قد تمت مصادقتها فعليًا كمستخدم الهدف (وليس مجرد 200/302)، وتطبع رابطًا جاهزًا للصق يحمّل المنتدى مصادقًا مسبقًا كمستخدم الهدف في أي متصفح.git clone https://github.com/Ethicalgrey/phpBB-CVE-2026-48611.git
cd phpBB-CVE-2026-48611
chmod +x install.sh
./install.sh
install.sh هو إعداد لمرة واحدة — يقوم بتثبيت كل ما يحتاجه السكربت (requests، urllib3، playwright + متصفح Chromium الخاص به) مباشرة في بيئة المستخدم الخاصة بك، بدون بيئة افتراضية للتفعيل وبدون إعداد للتكرار. بمجرد الانتهاء، python3 CVE-2026-48611.py ... يعمل فقط، في كل مرة، من أي طرفية جديدة.
# هدف واحد، نطاق مجرد — يجد ucp.php، يكتشف الإصدار، يطالب باسم مستخدم
# إذا كان معرضًا للخطر
python3 CVE-2026-48611.py -u example.com
# نفس الشيء، لكن يكتشف اسم مستخدم تلقائيًا من قائمة الأعضاء العامة بدلاً من
# كتابته يدويًا
python3 CVE-2026-48611.py -u example.com --auto
# وضع HTTP عادي أسرع، بدون Chromium — استخدمه عندما لا يكون للهدف
# تحديات JavaScript من نوع Cloudflare أمامه
python3 CVE-2026-48611.py -u example.com --no-browser
# تشغيل المتصفح بشكل مرئي (مطلوب إذا كان تحدي JavaScript يتطلب نقرة بشرية)
python3 CVE-2026-48611.py -u example.com --headed
# قائمة من المضيفين، واحد في كل سطر — كل مضيف معرض للخطر لا يزال يطالب
# بشكل فردي قبل تشغيل الاستغلال
python3 CVE-2026-48611.py -l targets.txt
# تخطي التحقق من TLS (أهداف بشهادات ذاتية التوقيع / مكسورة)
python3 CVE-2026-48611.py -u example.com -k
-u/--url و -l/--list متنافيان. --auto يعمل فقط مع -u/--url — وهو غير مدعوم عمدًا في وضع القائمة، لذلك لا يقوم تشغيل الدفعة أبدًا بتشغيل الاستغلال دون تأكيد بشري لكل هدف أولاً.
--auto — يتخطى مطالبة اسم المستخدم اليدوية ويسحب اسم مستخدم حقيقي مباشرة من memberlist.php العامة للهدف (يتخطى الحسابات التي تبدو كحسابات إدارية مثل admin/moderator/founder لصالح عضو عادي، للحفاظ على تأثير منخفض لتشغيل PoC).-l targets.txt — تشغيل تدفق الاكتشاف والاستغلال الكامل عبر قائمة من المضيفين دفعة واحدة؛ كل مضيف معرض للخطر لا يزال يطالب بشكل فردي قبل تشغيل الاستغلال (أو يختار اسم مستخدم تلقائيًا مع --auto)، لذلك لا يعمل شيء دون إشراف ضد قائمة أهداف.