در 27 ژوئیه اکسپلویت عمومی‌ای منتشر شد که نشان می‌دهد درخواست‌های بدون احراز هویت می‌توانند با عبور از فیلترهای داخلی به تابع eval() در PHP برسند و روی سرورهای vBulletin آسیب‌پذیر اجرای کد از راه دور (RCE) انجام دهند. این زنجیرهٔ بهره‌جویی به هیچ حساب کاربری یا دسترسی مدیریتی نیاز ندارد.

نسخه‌های متاثر و وضعیت پچ

اعلامیهٔ SSD Secure Disclosure شاخه‌های 6.2.1 و قبلی و 6.1.6 و قبلی را آسیب‌پذیر معرفی کرده، بدون آن‌که حد پایین‌تر نسخه‌ها را دقیقاً مشخص کند. شرکت vBulletin در پایان ژوئن پچ‌هایی برای شاخه‌های مختلف منتشر کرد و نسخهٔ اصلاح‌شدهٔ 6.2.2 را در 1 ژوئیه عرضه کرد؛ یعنی تقریباً چهار هفته قبل از افشای عمومی اکسپلویت.

خلاصهٔ تکنیکی

SSD این ایراد را با شناسهٔ CVE-2026-61511 گزارش کرده است. نقطهٔ آسیب‌پذیری در فایل /includes/vb5/template/runtime.php و در متد vB5_Template_Runtime::runMaths() قرار دارد که محاسبات درون‌خطی قالب‌ها را پردازش می‌کند. این تابع، پس از حذف کاراکترهای خارج از یک مجموعهٔ محدود، دادهٔ باقی‌مانده را مستقیم به eval() می‌فرستد. فیلترِ به‌کاررفته حروف الفبا را مسدود می‌کند اما ارقام، پرانتزها، عملگرهای حسابی و عملگرهای باینری (مثلاً XOR) را مجاز می‌گذارد؛ ترکیب این عناصر اجازهٔ بازسازی رشته‌ها و نام توابع PHP بدون استفاده از حروف را می‌دهد، تکنیکی که در گزارش با عنوان «phpfuck» توصیف شده است.

مسیر بهره‌جویی

vBulletin قالب‌ها را از مسیر عمومی ajax/render/pagenav رندر می‌کند و قالب پیش‌فرض مقدار ورودی بازدیدکننده pagenav[pagenumber] را داخل تگ {vb:math} قرار می‌دهد که به runMaths() فرستاده می‌شود. زنجیرهٔ ورود این مقدار تا eval()، همان نقطه‌ای است که یک باگ قالب را به اجرای کد پیش‌احراز تبدیل می‌کند. اثبات مفهوم منتشرشده (PoC) از این مسیر برای بازسازی تابع system در PHP و اجرای دستورهای سطح سیستم استفاده می‌کند و خروجی را در پاسخ HTTP بازمی‌گرداند.

PoC عمومی و خطای نگارشی

SSD یک اثبات مفهوم تعاملی منتشر کرد، اما اسکریپت حاوی یک اشتباه تک‌حرفی—یک حرف به‌جای یک رقم—بود که مانع اجرای مستقیم آن می‌شد. این خطا ساده و سریع قابل اصلاح است و تأثیری بر اصل آسیب‌پذیری ندارد. گروه‌های پژوهشی مستقل، از جمله The Hacker News، منطق فیلترینگ را محلی بازتولید و با اصلاح نگارشی، عملکرد PoC را تأیید کردند؛ اشاره شود که این بازتولید تنها اثبات قابلیت سوءاستفاده را نشان می‌دهد و به معنی بهره‌برداری علیه سرورهای زنده نیست مگر شواهد دیگری موجود باشد.

آیا حملات واقعی رخ داده است؟

تا 27 ژوئیهٔ 2026 گزارش موثقی از بهره‌برداری فعال ثبت نشده و CVE-2026-61511 در فهرست «آسیب‌پذیری‌های شناخته‌شده مورد بهره‌برداری» (CISA KEV) قرار نداشت. با این حال دورهٔ زمانی تقریباً چهار هفته‌ای بین عرضهٔ پچ و افشای اکسپلویت مبهم است و گزار‌ش‌های عمومی به‌صراحت دربارهٔ آن بازه توضیح نداده‌اند؛ بنابراین امکان وقوع بهره‌برداری در آن بازه به‌صورت قطعی رد نمی‌شود.

اقدامات فوری برای مدیران

  • به‌روزرسانی فوری: سیستم‌های خودمیزبان باید فوراً پچ مربوط به شاخهٔ خود را اعمال یا به نسخهٔ 6.2.2 ارتقا یابند. vBulletin اعلام کرده سایت‌های میزبانی‌شدهٔ ابری قبلاً وصله شده‌اند.
  • بررسی لاگ‌ها: لاگ‌های وب و اپلیکیشن را برای درخواست‌های POST با مقدار routestring=ajax/render/pagenav و پارامترهای pagenav[pagenumber] بررسی کنید؛ به‌ویژه نمونه‌هایی که طولانی یا سرشار از عملگرها هستند.
  • قواعد WAF و فایروال: قواعدی برای شناسایی و مسدودسازی الگوهای «operator-heavy» روی آن مسیر اضافه کنید و در صورت امکان دسترسی به مسیر رندر قالب را به منابع داخلی محدود نمایید.
  • مانیتورینگ و پاسخ به حادثه: از IDS/IPS و راهکارهای لاگ مرکزی برای تشخیص تلاش‌های احتمالی بهره‌برداری استفاده کنید و شاخص‌های سازگاری با PoC را سریعاً تحلیل کنید.
  • بازبینی توزیع پچ: تجربهٔ اشکال پیشین vBulletin (مثلاً زنجیره‌های می 2025: CVE-2025-48827 و CVE-2025-48828) نشان می‌دهد بسیاری از تالارها پچ‌ها را به‌موقع نصب نکرده‌اند؛ فرآیند توزیع و اعمال وصله را تسریع کنید.

منابع و مطالعهٔ بیشتر

برای اطلاعات نسخه‌ها و تاریخچه به صفحهٔ ویکی‌پدیا vBulletin مراجعه کنید. رکوردهای CVE و پایگاه‌های دادهٔ آسیب‌پذیری مانند NVD برای بررسی جزئیات مفیدند. همچنین فهرست CISA مرجع مهمی برای پیگیری تهدیدات شناخته‌شده است.

اکوسیستم تالارهای اینترنتی سابقهٔ تأخیر در اعمال پچ دارد؛ بارگاه‌های خودمیزان که به‌روز نشده‌اند در معرض خطر بیشتری قرار می‌گیرند. مدیران باید به‌سرعت وصله‌ها را توزیع کنند، مانیتورینگ ورودی‌های غیرمعمول به مسیرهای رندر قالب را برقرار نمایند و قواعد محافظتی را تقویت کنند تا فرصت سوءاستفاده به حداقل برسد.