یک آسیبپذیری از نوع Stored Cross-Site Scripting (XSS) در کتابخانه ویرایشگر متن SunEditor شناسایی شده است. این نقص امنیتی در نسخههای ۳.۰.۰ تا قبل از ۳.۴.۰ در تابع html.clean() وجود دارد.
تحلیل فنی
مشکل اصلی در فرآیند بازسازی iframeها از دادههای JSON موجود در ویژگی data-se-iframe-holder-attrs نهفته است. این تابع، پارامتر srcdoc یا کلیدهای SRC با حروف بزرگ (Uppercase) را فیلتر نمیکند. مهاجمان میتوانند از طریق روشهایی مانند چسباندن محتوا (Paste) یا استفاده از متدهای html.set و html.insert، کدهای HTML دستکاری شده را تزریق کنند.
- پیامد: اجرای اسکریپتهای مخرب در مبدأ (Origin) صفحه میزبان در هنگام بارگذاری محتوا توسط کاربر.
- روش حمله: تزریق کدهای HTML از طریق ورودیهای کاربر که در پایگاه داده ذخیره شده و سپس در مرورگر قربانی اجرا میشوند.
- نسخههای آسیبپذیر: تمامی نسخههای SunEditor قبل از 3.4.0.