В открытой платформе для организации электронной коммерции Magento (https://github.com/magento), которая занимает около 20% (https://pagely.com/blog/top-ecommerce-platforms-2018-compared/) рынка систем для создания интернет-магазинов, выявлены (https://blog.ripstech.com/2019/magento-rce-via-xss/) уязвимости, комбинация которых позволяет совершить атаку для выполнения своего кода на сервере, получения полного контроля над интернет-магазином и организации перенаправления платежей. Уязвимости устранены (https://magento.com/security/patches/magento-2.3.2-2.2.9-and...) в выпусках Magento 2.3.2, 2.2.9 и 2.1.18, в которых в сумме устранено 75 проблем, связанных с безопасностью.Одна из проблем позволяет неаутентифицированному пользователю добиться размещения JavaScript-кода (XSS), который может быть выполнен при просмотре журнала отменённых покупок в интерфейсе администратора. Суть уязвимости в возможности обойти операцию чистки текста при помощи функции escapeHtmlWithLinks() при обработке примечания в форме отмены на экране начала оформления покупки (использование вложенного в другой тег тега "a href=http://onmouseover=..."). Проблема проявляется при использовании встроенного модуля Authorize.Net, при помощи которого осуществляется приём платежей по кредитным картам.
Для получения полного контроля при помощи JavaScript-кода в контексте текущего сеанса сотрудника магазана эксплуатируется вторая уязвимость, позволяющая загрузить phar-файл под видом картинки (проведение (https://www.opennet.ru/opennews/art.shtml?num=49746) атаки (https://www.opennet.ru/opennews/art.shtml?num=49641) "Phar deserialization"). Phar-файл может быть загружен через форму вставки картинок во встроенном WYSIWYG-редакторе. Добившись выполнения своего PHP-кода атакующим затем может изменить реквизиты платежей или организовать перехват информации о кредитных картах покупателей.
Интересно, что сведения о 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-уязвимостей, которых в отмеченных выпусках устранено несколько десятков.
URL: https://blog.ripstech.com/2019/magento-rce-via-xss/
Новость: https://www.opennet.ru/opennews/art.shtml?num=51027