یک آسیبپذیری از نوع Reflected Cross-Site Scripting (XSS) در افزونه فروشگاهی Welcart e-Commerce برای پلتفرم وردپرس شناسایی شده است. این نقص امنیتی به مهاجمان اجازه میدهد تا از طریق پارامترهای غیرپاکسازیشده، کدهای مخرب خود را در مرورگر کاربران هدف اجرا کنند.
جزئیات فنی
این آسیبپذیری در تابع ESCOTT_MAIN::error_page_message در فایل classes/paymentESCOTT.main.class.php قرار دارد. مشکل اصلی در پارامتر ResponseCd است که بدون انجام عملیات Escaping (پاکسازی) در خروجی صفحه خطا منعکس میشود. با توجه به بردار CVSS 4.0، این حمله نیازی به احراز هویت (Authentication) ندارد، اما برای موفقیت، حتماً به تعامل کاربر (User Interaction) نیاز است؛ به این معنا که قربانی باید روی یک لینک یا درخواست مخرب که توسط مهاجم ساخته شده، کلیک کند.
سناریوی حمله
- مهاجم یک URL مخرب حاوی Payload حاوی اسکریپت در پارامتر
ResponseCdطراحی میکند. - قربانی از طریق روشهایی مانند Phishing (فیشینگ) یا لینکهای فریبنده، به صفحه خطای سایت آسیبپذیر هدایت میشود.
- به دلیل عدم خنثیسازی ورودی، اسکریپت در محیط مرورگر کاربر و در قالب سایت اصلی اجرا شده و میتواند منجر به سرقت Session/Cookie یا دستکاری رابط کاربری (UI Manipulation) شود.
راهکار مقابله و رفع مشکل
توسعهدهنده این افزونه، نسخه 2.12.7 را برای رفع این مشکل منتشر کرده است. در این نسخه، از تابع esc_html() برای پاکسازی مقادیر استفاده شده است. توصیه میشود تمامی مدیران سایتهایی که از افزونه Welcart استفاده میکنند، بلافاصله این افزونه را به نسخه 2.12.7 یا بالاتر ارتقا دهند.