در یک پلتفرم باز برای سازماندهی تجارت الکترونیک
یک مشکل به یک کاربر احراز هویت نشده اجازه می دهد تا جاوا اسکریپت (XSS) را که می تواند هنگام مشاهده تاریخچه خرید لغو شده در رابط مدیریت اجرا شود، به دست آورد. ماهیت این آسیبپذیری توانایی دور زدن عملیات پاکسازی متن با استفاده از تابع escapeHtmlWithLinks() هنگام پردازش یادداشت در فرم لغو در صفحه پرداخت است (با استفاده از برچسب "a href=http://onmouseover=..." تو در یک تگ دیگر). این مشکل هنگام استفاده از ماژول داخلی Authorize.Net که برای پذیرش پرداخت های کارت اعتباری استفاده می شود، ظاهر می شود.
برای به دست آوردن کنترل کامل با استفاده از کد جاوا اسکریپت در زمینه جلسه فعلی یک کارمند فروشگاه، آسیب پذیری دوم مورد سوء استفاده قرار می گیرد که به شما امکان می دهد یک فایل phar را تحت پوشش یک تصویر بارگذاری کنید (
جالب اینجاست که اطلاعات مربوط به مشکل XSS در سپتامبر 2018 برای توسعه دهندگان Magento ارسال شد و پس از آن در پایان نوامبر یک پچ منتشر شد که همانطور که مشخص شد تنها یکی از موارد خاص را حذف می کند و به راحتی قابل دور زدن است. در ماه ژانویه، علاوه بر این در مورد امکان دانلود فایل Phar تحت پوشش یک تصویر گزارش شد و نشان داد که چگونه می توان از ترکیب دو آسیب پذیری برای به خطر انداختن فروشگاه های آنلاین استفاده کرد. در پایان ماه مارس در Magento 2.3.1،
2.2.8 و 2.1.17 مشکل فایل های Phar را برطرف کردند، اما رفع XSS را فراموش کردند، اگرچه بلیط صادر شده بسته شد. در آوریل، تجزیه XSS از سر گرفته شد و مشکل در نسخه های 2.3.2، 2.2.9 و 2.1.18 برطرف شد.
لازم به ذکر است که این نسخه ها 75 آسیب پذیری را نیز برطرف می کنند که 16 مورد از آنها به عنوان بحرانی رتبه بندی شده اند و 20 مشکل می تواند منجر به اجرای کد PHP یا جایگزینی SQL شود. اکثر مشکلات بحرانی فقط توسط یک کاربر تایید شده قابل انجام است، اما همانطور که در بالا نشان داده شد، عملیات تایید شده را می توان به راحتی با استفاده از آسیب پذیری های XSS، که چندین ده مورد از آنها در نسخه های ذکر شده وصله شده اند، به دست آورد.
منبع: opennet.ru