Всё, что нужно было — загрузить файл с "приглашённым спикером".
Плагин Eventin, который используется для управления мероприятиями на WordPress-сайтах, оказался уязвим для крайне опасной атаки. Обнаруженная уязвимость позволяла любому человеку — даже без регистрации на сайте — получить права администратора и полностью захватить управление сайтом. Ошибку нашёл участник сообщества Patchstack Alliance по имени Денвер Джексон.
Проблема заключалась в функции импорта спикеров, встроенной в Eventin. Через неё можно было загрузить специальный файл с данными, где у одного из «приглашённых спикеров» в роли стояло «администратор». Плагин без каких-либо проверок создавал нового пользователя с этими правами. Таким образом, сайт фактически сам открывал дверь для злоумышленников.
Причина в том, что в коде плагина отсутствовала проверка, имеет ли человек право выполнять такие действия. Система просто принимала любые загрузки и выполняла их, не задавая лишних вопросов. Это позволяло легко обойти любые защиты и получить полный контроль над сайтом: менять настройки, удалять страницы, управлять пользователями и так далее.
Разработчики уже выпустили обновление под номером 4.0.27, в котором добавили проверку прав доступа и ограничили список допустимых ролей. Теперь такие атаки невозможны. Специалисты по безопасности из Patchstack подчёркивают , насколько важно регулярно обновлять плагины и следить за их безопасностью, особенно если они обрабатывают данные пользователей или позволяют управлять сайтом.