آخرین اخبار
همهٔ اخبار
امنیت وب و نرم‌افزار گزارش بحرانیت ۳/۱۰

کشف آسیب‌پذیری Stored XSS در سیستم مدیریت محتوای REDAXO

کشف آسیب‌پذیری Stored XSS در سیستم مدیریت محتوای REDAXO

یک آسیب‌پذیری از نوع Stored Cross-Site Scripting (XSS) در سیستم مدیریت محتوای REDAXO (نسخه 5.21.1 و قدیمی‌تر) شناسایی شده است. این نقص امنیتی در افزونه mediapool و به‌طور مشخص در فایل sync.php قرار دارد.

جزئیات فنی آسیب‌پذیری

مشکل اصلی در صفحه همگام‌سازی (Sync Page) این سیستم است که نام فایل‌های موجود در دایرکتوری /media را مستقیماً در HTML رندر می‌کند، بدون اینکه از تابع rex_escape() (یا معادل htmlspecialchars) برای پاک‌سازی داده‌ها استفاده کند. در نتیجه، هر فایلی که نام آن حاوی متاکاراکترهای HTML باشد، می‌تواند کدهای جاوا اسکریپت (JavaScript) را در مرورگر کاربرانی که دسترسی media[sync] دارند، اجرا کند.

سناریوی حمله و پیش‌نیازها

برای بهره‌برداری از این آسیب‌پذیری، عامل تهدید (Threat Actor) باید ابتدا بتواند فایلی با نام مخرب در دایرکتوری /media قرار دهد. این دسترسی می‌تواند از طریق روش‌های زیر حاصل شود:

  • دسترسی مستقیم به سیستم فایل (Filesystem) سرور.
  • استفاده از قابلیت Restore بک‌آپ در سطح Administrator.

پس از قرارگیری فایل، هر کاربر پنل مدیریت (از جمله ادمین‌ها) که صفحه Sync را باز کند، مورد حمله قرار گرفته و کد مخرب در مرورگر او اجرا می‌شود. این موضوع می‌تواند منجر به Session Hijacking، سرقت کوکی‌های نشست و در نهایت تصاحب کامل CMS شود.

راهکار اصلاحی

برای رفع این مشکل، توسعه‌دهندگان باید تمامی متغیرهای مربوط به نام فایل را پیش از درج در HTML، از طریق تابع rex_escape() پاک‌سازی کنند تا از اجرای کدهای غیرمجاز جلوگیری شود.