В открытой платформе для организации электронной коммерции
Одна из проблем позволяет неаутентифицированному пользователю добиться размещения JavaScript-кода (XSS), который может быть выполнен при просмотре журнала отменённых покупок в интерфейсе администратора. Суть уязвимости в возможности обойти операцию чистки текста при помощи функции escapeHtmlWithLinks() при обработке примечания в форме отмены на экране начала оформления покупки (использование вложенного в другой тег тега «a href=http://onmouseover=…»). Проблема проявляется при использовании встроенного модуля Authorize.Net, при помощи которого осуществляется приём платежей по кредитным картам.
Для получения полного контроля при помощи JavaScript-кода в контексте текущего сеанса сотрудника магазина эксплуатируется вторая уязвимость, позволяющая загрузить phar-файл под видом картинки (
Интересно, что сведения о XSS-проблеме были направлены разработчикам Magento ещё в сентябре 2018 года, после чего в конце ноября был выпущен патч, который, как оказалось, устраняет лишь один из частных случаев и легко обходится. В январе дополнительно было сообщено о возможности загрузки 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-уязвимостей, которых в отмеченных выпусках устранено несколько десятков.
isi: opennet.ru