Сбой в WordPress и уязвимость в плагине WooCommerce

Специалисты компании RIPS Technologies обнаружили проблему, связанную с работой WordPress и популярного e-commerce плагина WooCommerce. Исследователи объясняют, что проблем здесь сразу две.

Первая проблема заключается в том, что WordPress устанавливает плагин, который не создает собственную систему аутентификации,но использует существующую систему привилегий CMS. Для этого плагин создает новую роль с новыми возможностями WordPress, а затем ограничивает ее взаимодействие с настройками CMS и другими пользователями посредством собственных функций.

Так, при установке WooCommerce создается новая роль Shop Manager («менеджер магазина»), которая имеет права edit_users. Она позволяет пользователю редактировать любые посты и профили других пользователей WordPress, включая администратора.

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

В итоге единственным надежным способом отключения плагина становится его отключение со стороны администратора, а лучше удаление всех его файлов. И здесь в дело вступает вторая проблема.

Аналитики RIPS Technologies обнаружили баг, связанный с удалением файлов WooCommerce версии 3.4.5 и ниже. Пользователи с правами Shop Manager могут удалить любой файл плагина, включая критически важные для его работы. После этого плагин предсказуемо перестанет работать, WordPress автоматически отключит его, и ситуация вернется к вышеописанному, когда пользователь с ролью Shop Manager имеет возможность редактировать профили любых пользователей.

Исследователи объясняют, что в такой ситуации для атакующего не составит труда захватить аккаунт администратора, а значит и контроль над всем сайтом.

Специалисты подчеркивают, что для успешной эксплуатации данной схемы, атакующему понадобится иметь доступ к аккаунту с ролью Shop manager. Однако это достижимо посредством XSS-уязвимостей или фишинговых атак.

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

Источник: xakep.ru