نشر استغلال عام لثغرة vBulletin CVE-2026-61511 التي تنفّذ كود PHP دون تسجيل دخول
الفلترة قبل تنفيذ نص كأنه كود تفترض معرفة كل الطرق التي تعبّر بها اللغة عن قيمة ما، وهو افتراض يسقط دائمًا؛ فالحل أن لا تصل مدخلات المستخدم إلى التنفيذ أصلًا.
نشر باحث يُعرف باسم EgiX، في 27 يوليو 2026 وبالتنسيق مع SSD Secure Disclosure، استغلالًا عامًا لثغرة CVE-2026-61511 في برنامج المنتديات vBulletin. وتسمح الثغرة بتشغيل كود PHP على الخادم عبر طلب واحد دون تسجيل دخول. والنسخ المتأثرة هي 6.2.1 وما قبلها، و6.1.6 وما قبلها، وقد صدر الإصلاح في نهاية يونيو، ثم النسخة 6.2.2 في 1 يوليو. ولم يُؤكَّد حتى 27 يوليو أي استغلال فعلي للثغرة.
وتقع الثغرة في دالة داخل محرك القوالب تحسب التعبيرات الرياضية في وسم {vb:math}. وتسلّم هذه الدالة التعبير إلى الدالة eval في PHP، أي أنها تنفّذه ككود.
ولحماية هذا المسار، وضع المطورون فلترًا بتعبير نمطي (regex) يسمح فقط بالرموز المتوقعة في عملية حسابية. لكن من بين الرموز المسموح بها معاملًا رياضيًا يتيح في PHP تركيب نصوص كاملة من أرقام فقط. فالفلتر عمل تمامًا كما كُتب، ومع ذلك لم يمنع الخطر، لأنه يمنع رموزًا بعينها ولا يمنع النتيجة التي يمكن الوصول إليها بالرموز المسموحة. ثم إن أحد القوالب كان يمرر قيمة يرسلها المستخدم إلى هذا المسار دون أي تحقق من الهوية.
والدرس أوسع من vBulletin. فالفلترة قبل eval تفترض أن كاتب الفلتر يعرف كل طرق التعبير في اللغة، واللغة غالبًا تملك طرقًا أكثر مما يتوقعه. ولذلك لا يكمن الحل في فلتر أذكى، بل في ألا تصل مدخلات المستخدم إلى eval من الأساس.
وبالنسبة لمن يدير منتدى على vBulletin، يعني نشر استغلال عام أن الفجوة بين معرفة الثغرة واستخدامها قد ضاقت، وأن النسخ التي لم تُحدَّث منذ يونيو هي الأكثر عرضة.
المصادر
من عدد الثلاثاء 14 صفر - 28 يوليو