یک آسیبپذیری از نوع Cross-Site Request Forgery (CSRF) در سیستم مدیریت محتوای REDAXO (نسخه 5.21.1 و نسخههای قدیمیتر) شناسایی شده است که میتواند منجر به تغییرات ناخواسته در افزونههای نصب شده شود.
تحلیل فنی آسیبپذیری
این نقص امنیتی در تابع rex_api_install_package_update رخ داده است. در حالی که سایر توابع مشابه مانند حذف یا افزودن پکیجها دارای مکانیزمهای حفاظتی هستند، این تابع خاص متد requiresCsrfProtection() را اورراید نکرده و مقدار پیشفرض آن false باقی مانده است. این موضوع به مهاجم اجازه میدهد تا با فریب دادن یک مدیر (Admin) که دارای نشست (Session) فعال است، یک درخواست جعلی برای بهروزرسانی یا تغییر نسخه یک افزونه ارسال کند.
سناریوهای حمله و تاثیرات
- نصب اجباری نسخهها: مهاجم میتواند مدیر سایت را ترغیب کند تا صفحهای مخرب را باز کند و از این طریق، نسخهای خاص از یک افزونه را بهصورت خودکار نصب یا Downgrade کند.
- پتانسیل تبدیل به RCE: اگر این آسیبپذیری با یک حمله زنجیرهای (Chain) ترکیب شود (مثلاً در صورت وجود یک نقص امنیتی در نسخههای قدیمیتر افزونه یا نفوذ به زنجیره تامین
redaxo.org)، میتواند منجر به اجرای کد از راه دور (Remote Code Execution) شود. - اختلال در سرویس: حتی بدون دسترسی به RCE، مهاجم میتواند با نصب نسخههای ناسازگار، باعث اختلال در عملکرد وبسایت شود.
جزئیات فنی
مهاجم برای اجرای این حمله باید addonkey معتبر و file id هدف را بداند. درخواست جعلی از طریق مسیر index.php?page=install/packages&rex-api-call=install_package_update ارسال میشود.