Баг в плагине WooCommerce — новая уязвимость CMS Wordpress

Проанализировав плагин WooCommerce специалисты RIPS Technologies обнаружили новую уязвимость. Всем известно, что плагин WooCommerce очень известное расширение, которое было загружено более 4 миллионов раз и установлено такое же количество раз. И это неудивительно, поскольку плагин является бесплатной альтернативной для создания полноценного интернет магазина.

По словам исследователей, проблем две. Во-первых, когда пользователи загружают и устанавливают плагин, он создает собственную систему аутентификации, которая использует роли пользователей системы CMS Wordpress. 

Чтобы создать определенную роль, плагин сначала создает новую роль с возможностями Wordpress. Затем плагин вводит определенные ограничения при работе с настройками CMS и другими пользователями, используя собственные функции.

Если вы установили плагин WooCommerce, то автоматически создается новая роль Shop Manager. Данная роль получает такие права как edit_users. Понятно, что данная роль дает право на редактирование любых записей, а также право редактировать любые профили пользователей, включая в этот список администратора.

Для того, чтобы вмешиваться в роль администратора должна быть какая-то функция, которая будет контролировать определенные действия. Но плагин имеет проблемы в коде, касающиеся безопасности и при его отключении, функция, которая ограничивала определенные действия по отношению администратора, перестает действовать. И поэтому пользователи (менеджеры магазинов) могут редактировать профили других пользователей, включая администраторов.

Казалось бы, для отключения функций и избавления от проблем можно было бы воспользоваться отключением плагина со стороны администратора. А для большей надежности можно просто удалить все файлы плагина. Но, как всегда, появляется большое — но.

Есть проблема при удалении файлов в версии плагина WooCommerce 3.4.5 и ниже. Если вы пользователь с правами Shop Manager, то можете удалить любые файлы, даже критически важные для работы плагина. Соответственно, если плагин перестает работать, то Wordpress его выключит. В таком случае ситуация повторится — пользователь, имеющий права Shop Manager сможет управлять и редактировать профилями любых пользователей.

По словам программистов, которые нашли данный баг — для хакера не составит труда захватить аккаунт администратора, и соответственно контроль над всем сайтом.

Чтобы успешно атаковать Wordpress, нужно будет иметь права Shop manager. Но данное условие не окажется проблемой для XSS-уязвимостей и фишинговых атак, которые могут осуществить злоумышленники.

Разработчики плагина не сидят на месте и уже выпустили обновления (3.4.6). Поэтому, если ваши плагины не проверяются на обновление автоматически, нужно установить их вручную, если вы не хотите испытать судьбу…