Обновления Magento 2.1.9, 2.0.16, принесли множество заплаток в том числе от XSS, CSRF, неавторизированные утечки данных, защита от администраторов/операторов магазинов.
Зацепило даже Magento 1.x, 1.9.3.6 и 1.14.3.6 получили обновления.
Для простоты назовем плохого администратора/оператора — Одмин.
Обновление: Добавлено описание того как происходит утечка данных о заказанных товарах.
Критичный (1)
APPSEC-1800: Remote Code Execution vulnerability in CMS and layouts
Дословно: Одмин может написать код, который будет исполнен на сервере.
Это все благодаря layoutам, в которых можно было вызывать исполнение кода.
Когда-то можно было написать в Magento 1.x такую конфигурацию, которая позволяла показать содержимое любого файла на странице товара.
Скорее всего используется что-то очень похожее или какой-то из блоков позволяет задать ему «вредный параметр».
Высокий риск (3)
APPSEC-1887 Одмин мог прочитать то, что не стоит читать.
APPSEC-1850 Одмин мог удалить что-то очень важное, остановить работу магазина
APPSEC-1851 RCE Одмин мог исполнить вредоносный код, последствия мы можем себе представить.
Средний риск (29)
APPSEC-1567 Покупатель мог получить данные о заказах, после доступа к какому-то, но нужно постараться сделать cookie.
APPSEC-1769 Одмин мог записать sitemap не туда
APPSEC-1713 Можно получить важные данные по системным ссылкам
APPSEC-1852 XSS и CSRF Одмин мог заложить XSS и CSRF
APPSEC-1482 Возможность отправить «не туда»
APPSEC-1502 XSS Одмин мог назвать тип товара
APPSEC-1494 XSS Если кто-то между сервером и xml с новостями вставит свой xml.
APPSEC-1793 CRE Для серверов с Nginx можно закинуть и выполнить файл
APPSEC-1819 Перехват сессии клиента, которая не устарела
APPSEC-1802 CSRF Можно было захватить управление учетными записями клиентов
APPSEC-1493 XSS В названии страницы можно было вписать код
APPSEC-1755 CSRF Можно было наделать дел после входа клиента в систему
APPSEC-1853 XSS и CSRF Одмин мог в модуле рассылок добавить
APPSEC-1729 XSS Одмин мог добавить код в названии статуса заказа
APPSEC-1591 XSS Одмин мог заложить в картинках товаров проблему
APPSEC-1896 XSS Одмин мог в заказе заложить вредный код
APPSEC-1673 XSS Одмин через SVG favicon подкинуть проблему
APPSEC-1773 DoS Одмин мог указать ID страницы при создании лишить возможности создавать новые
APPSEC-1577 XSS Одмин мог добавить код при активации интеграций
APPSEC-1510 Одмин с ограниченными правами мог подменить favicon
APPSEC-1545 XSS Одмин мог списать код в поля клиента
APPSEC-1535 Одмин мог редактировать значения через быстрое редактирование в таблицах.
APPSEC-1588 Вредитель мог «слить» данные о всех предыдущих заказах во время оформления заказа
APPSEC-1701 Возможное переиспользование сессий API
APPSEC-1630 Можно было ознакомиться со статусом обновления системы
APPSEC-1628 Получение абсолютного пути на сервере
APPSEC-1599 Браузер пытается использовать авто-подстановку входе в админ-панель
Низкий риск (2)
APPSEC-1709 Можно было получить почту администратора
APPSEC-1495 Редактирование поле заказа без права просмотра
Интересные атаки
Интересны тем, что их можно отработать по Magento 1.x.
APPSEC-1793 nginх очень часто применяется в боевых системах.
APPSEC-1588 Можно было достать данные о клиентахкупленных товарах у конкурента.
Используя идентификаторы строк заказа, пытаемся добавить товар к себе в корзину по идентификатору строки из заказа ранее, товар будет добавлен.
Это не дает времени, заказа и даты, но если начать «следить» за магазином с момента X, то можно собрать данные о том, что покупали клиенты начиная с момента X. Чтоб собрать такие данные, нужно регулярно опрашивать систему.
В момент X нужно узнать идентификатор последнего заказанного товара.
Также можно собрать базу самых продаваемых товаров магазина, если товары не удалялись.
Вместо концовки
18 из 35 уязвимостей — атака изнутри, когда администратор магазина вредит самостоятельно.
Агентствам и поставщикам модулей
Стоило бы обновить свои демо-стенды, чтоб не пришел Одмин.
Владельцам магазинов
1. Самая пора проверить списки администраторов, чтоб среди них не оказалось Одминов.
2. Стоило бы обновиться, чтоб не отдавать данные о заказах конкурентам или спамерам.
Источник: https://magento.com/security/patches/magento-2016-and-219-security-update
Патчи можно посмотреть на Гитхабе: 2.015-2.0.16 и 2.1.8-2.1.9
Обновление: Добавлено описание того как происходит утечка данных о заказанных товарах.
Автор: Кирилл Морозов