WordPress-плагин Groups до 4.6.0 уязвим к повышению привилегий через шорткод groups_join (CVE-2026-77203)
В WordPress-плагине Groups – Memberships and Access Control (версии ≤ 4.6.0) обнаружена уязвимость повышения привилегий с оценкой CVSS 8.8 (HIGH). Аутентифицированный пользователь с ролью Subscriber и выше может самостоятельно записаться в привилегированные группы и получить права администратора. Проблема затрагивает все сайты с установленной уязвимой версией плагина.
Подробности
Уязвимость затрагивает все версии плагина Groups – Memberships and Access Control вплоть до 4.6.0 включительно. Тип уязвимости — повышение привилегий (Privilege Escalation), оценка CVSS 8.8 (HIGH). Корень проблемы — функцияgroups_join(). При определении права пользователя на вступление в группу она опирается на возможности автора «окружающего» поста через глобальную переменную $post->post_author, а не на фактические права текущего аутентифицированного пользователя. Одновременно та же функция формирует и возвращает вызывающему корректный хеш groups-join-data и WordPress nonce — то есть сама выдаёт все данные, необходимые для обхода проверок. В итоге все барьеры авторизации, которые должны препятствовать самостоятельной записи в группу, устраняются.
Практическая эксплуатация возможна для аутентифицированных атакующих с уровнем доступа Subscriber и выше. Злоумышленник может записать себя в любую группу, включая привилегированные группы с возможностью groups_admin_groups, а затем создать и вступить в группу, содержащую все зарегистрированные в WordPress возможности, что фактически даёт права Administrator.
Для эксплуатации атакующему необходимо передать ID поста, автором которого является администратор, через параметр post_ID в аутентифицированном AJAX-обработчике wp_ajax_parse_media_shortcode. Это создаёт «привилегированный» контекст поста, на который опирается ошибочная проверка прав.
Отдельно стоит отметить, что для эксплуатации не требуется публикация контента или доступ к административной панели — достаточно учётной записи подписчика и знания ID поста администратора.
Что делать
Основная рекомендация — обновить плагин Groups – Memberships and Access Control до версии, в которой уязвимость устранена. Если обновление невозможно в ближайшее время, следует рассмотреть следующие меры: — временно деактивировать плагин, если его функциональность не является критичной для работы сайта; — ограничить регистрацию новых пользователей и ужесточить контроль учётных записей с ролью Subscriber; — настроить WAF-правила для блокировки подозрительных запросов кwp_ajax_parse_media_shortcode с параметром post_ID;
— провести аудит существующих групп и участников на предмет несанкционированных вступлений, а также проверить пользователей с административными правами;
— включить журналирование AJAX-запросов для выявления попыток эксплуатации.
После обновления рекомендуется сменить пароли привилегированных учётных записей и проверить целостность сайта.
Итог: CVE-2026-77203 — серьёзная уязвимость, позволяющая подписчику стать администратором WordPress-сайта. Учитывая низкую сложность эксплуатации и высокую оценку CVSS, обновление плагина или его отключение следует выполнить в приоритетном порядке.
Источник: CVE Project (cvelistV5)
