Опасную уязвимость в WordPress-плагине Convert Plus обнаружили ИБ-эксперты. Баг позволяет неавторизованному злоумышленнику создать пользователя с правами администратора, что может привести к перехвату управления сайтом. Разработчики расширения исправили ошибку в коде и выпустили новую версию своего продукта.

По словам ИБ-специалистов, плагин Convert Plus, имеющий более 100 тыс. активных установок, содержал критический баг, оцененный исследователями в 10 баллов по шкале CVSS. Расширение предназначено для размещения на сайте различных маркетинговых инструментов — баннеров, кнопок, форм сбора данных и других.

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

Поскольку эта переменная задается тем же HTTP-запросом, что и сведения об остальных полях формы, она может быть изменена пользователем. Злоумышленник может оформить подписку и установить cp_set_user в значении administrator. Это приведет к вызову функции cp_add_new_user_role, которая создаст нового администратора веб-ресурса с адресом электронной почты атакующего. Чтобы получить полный доступ к управлению сайтом, автору атаки останется только выполнить сброс пароля.

Проблема обнаружена в версии плагина 3.4.2. Исследователи сообщили о своей находке разработчикам Convert Plus 24 мая этого года. Через четыре дня создатели расширения выпустили релиз 3.4.3, где уязвимость была закрыта. Большинство пользователей маркетингового плагина получат уведомление о необходимости срочного апдейта на главной странице панели администратора WordPress.

Это уже не первый случай, когда баги в плагинах сторонних разработчиков несут серьезную угрозу безопасности. В мае 2019 года аналитики выявили возможность SQL-инъекции на сайтах с расширением Duplicate Page. Уязвимость могла привести к запуску на странице сторонних скриптов и угону веб-ресурса.

Категории: Аналитика, Главное, Уязвимости