Уязвимость в платформе для создания интернет-магазинов WooCommerce
8 ноября 2018 года
В WooCommerce, плагине к системе управления контентом WordPress, позволяющем создавать площадки для продажи товаров, выявлена уязвимость, позволяющая выполнить код на сервере и получить полный контроль за сайтом. WooCommerce насчитывает более 4 млн установок и по статистике разработчиков используется для обеспечения работы около 30% всех интернет-магазинов в сети. Проблема устранена в выпуске WooCommerce 3.4.6.
Для эксплуатации уязвимости необходимо наличие прав менеджера торговой площадки. Отправив определённым образом оформленный запрос можно удалить произвольные файлы на сервере, насколько это позволяют полномочия, под которыми выполняется WordPress. Например, в ходе атаки можно удалить файл wp-config.php и инициировать процесс установки нового экземпляра WordPress. В ходе атаки злонамеренный сотрудник может завести новый аккаунт администратора WordPress, при помощи которого можно запустить произвольный PHP-код на сервере.
Для атаки также можно воспользоваться недоработкой в организации обработки привилегий в WordPress. На уровне плагина пользователи с правами менеджера торговой площадки имеют право только изменять учётные записи клиентов, но не имеют полномочий для изменения других аккаунтов, в том числе аккаунта администратора. При этом роль менеджера торговой площадки с правом edit_users определяется на уровне платформы WordPress и в случае отключения плагина WooCommerce, так как ограничение доступа реализовано на его уровне, менеджеры торговой площадки получают возможность редактирования профилей всех пользователей WordPress. Воспользовавшись вышеописанной уязвимостью можно удалить файл woocommerce.php и отключить таким образом плагин WooCommerce, что позволит получить права администратора и выполнить PHP-код на сервере.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.