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

آسیب‌پذیری Stored XSS در سیستم مدیریت محتوای FlyCMS (CVE-2026-125082)

آسیب‌پذیری Stored XSS در سیستم مدیریت محتوای FlyCMS (CVE-2026-125082)

یک نقص امنیتی از نوع Stored Cross-Site Scripting (XSS) با شناسه CVE-2026-125082 در سیستم مدیریت محتوای (CMS) متن‌باز FlyCMS شناسایی شده است. این آسیب‌پذیری به دلیل عدم پاک‌سازی (Sanitization) ورودی‌ها در بخش مدیریت محتوا رخ می‌دهد و می‌تواند منجر به اجرای کدهای مخرب در نشست‌های (Sessions) کاربران دارای سطح دسترسی بالا شود.

تحلیل فنی مکانیسم حمله

این نقص در متد ModelDataService.insertData و در بخش رندرینگ محتوا در فایل articles/detail.html وجود دارد. فرآیند حمله به شرح زیر است:

  • دسترسی اولیه: مهاجم باید دارای یک حساب کاربری احراز هویت شده با سطح دسترسی نویسنده (Author) باشد تا بتواند مقالاتی را ارسال یا ویرایش کند.
  • تزریق کد: مهاجم یک کد مخرب (مانند تگ <script> یا هندلرهای onerror) را در بخش Rich-Text مقاله قرار می‌دهد. این محتوا بدون هیچ‌گونه بررسی یا پاک‌سازی در دیتابیس ذخیره می‌شود.
  • اجرای کد: زمانی که یک مدیر (Administrator) یا بازبین (Reviewer) برای بررسی مقاله، آن را در پنل مدیریت باز می‌کند، قالب سیستم مقدار ${info.content} را به صورت Raw (خام) رندر می‌کند و در نتیجه کد تزریق شده در مرورگر کاربر هدف اجرا می‌شود.

ارزیابی ریسک و تأثیرات

با وجود اینکه امتیاز CVSS این آسیب‌پذیری 5.1 (متوسط) تعیین شده است، اما تأثیر واقعی آن می‌تواند بسته به سطح دسترسی کاربر هدف، بسیار جدی‌تر باشد. از آنجایی که کد مخرب در دامنه نشست‌های مدیریتی اجرا می‌شود، مهاجم می‌تواند از این طریق برای سرقت کوکی‌های نشست (Session Cookies) یا انجام عملیات غیرمجاز از طرف مدیر سیستم استفاده کند.

محدودیت‌های این حمله شامل نیاز به داشتن حساب کاربری معتبر و لزوم تعامل کاربر (User Interaction) است؛ به این معنا که کد مخرب به صورت خودکار روی بازدیدکنندگان عادی سایت اجرا نمی‌شود و تنها کاربران پنل مدیریت را هدف قرار می‌دهد.

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

برای رفع این مشکل، توصیه می‌شود سریعاً آخرین تغییرات کد (Commit) مربوط به اصلاح این نقص (شناسه 714521a9262e7bc9ca5713c873f57e96a4845352) اعمال گردد. این اصلاحیه یک ContentSanitizer مبتنی بر کتابخانه Jsoup را در سمت سرور پیاده‌سازی می‌کند که موارد زیر را مدیریت می‌کند:

  • محدود کردن پروتکل‌های URL به http، https، mailto و tel.
  • حذف تگ‌های iframe، video و audio مگر در صورتی که میزبان آن‌ها در لیست سفید (Allowlist) باشد.
  • افزودن ویژگی rel=noopener noreferrer به لینک‌های خارجی برای افزایش امنیت.

تا زمان اعمال پچ، پیشنهاد می‌شود دسترسی ارسال محتوای Rich-Text به کاربران محدود شده و محتوای ذخیره شده در دیتابیس توسط مدیران با احتیاط بررسی شود.