Критическая уязвимость в плагине GamiPress позволяет хакерам внедрять SQL-запросы и ставит под угрозу безопасность сайтов на WordPress

WordPress — одна из самых популярных систем управления контентом (CMS) в мире, используемая миллионами веб-сайтов. Для расширения её возможностей существует множество плагинов. Одним из таких является GamiPress, который добавляет элементы геймификации (систему наград и достижений) на веб-сайты.

Однако недавно исследователи в области кибербезопасности обнаружили в коде этого плагина критическую уязвимость типа SQL Injection. Эта уязвимость позволяла хакерам отправлять вредоносные SQL-запросы в базу данных сайта и получать доступ к конфиденциальной информации.

Детали уязвимости

🔹 Идентификатор CVE: CVE-2024-13496
🔹 Уровень опасности: Высокий (CVSS 3.1 – 7.5)
🔹 Затронутые версии: GamiPress 7.2.1 и более ранние
🔹 Исправленная версия: 7.3.2 (выпущена 18 марта 2025 года)
🔹 Условия эксплуатации: Не требуется аутентификация, достаточно отправки специально измененного HTTP-запроса

Исследователь кибербезопасности Abrahack обнаружил уязвимость при анализе GamiPress версии 7.2.1. Проблема была найдена в AJAX-эндпоинте gamipress_get_logs, который использовал wp_ajax_nopriv_{$action}, что позволяло отправлять запросы без авторизации.

Уязвимость возникала из-за небезопасной обработки параметра orderby при выполнении SQL-запросов. Хотя в коде использовалась функция sanitize_text_field(), она не обеспечивала достаточной защиты. Основная проблема заключалась в том, что в классе CT_Query параметр orderby передавался напрямую в SQL-запрос, создавая возможность внедрения вредоносного кода.

В результате злоумышленники могли отправить специально подготовленный HTTP-запрос с вредоносным SQL-кодом и получить полный контроль над базой данных WordPress-сайта.

Почему эта уязвимость опасна?

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

Разработчики GamiPress устранили проблему в версии 7.3.2, введя белый список допустимых значений для параметра orderby, что исключает возможность внедрения вредоносных SQL-команд.

Что должны сделать администраторы WordPress?

Срочно обновить GamiPress до версии 7.3.2 или выше.
Проверить журналы сервера на наличие подозрительных запросов.
Настроить веб-аппликационный брандмауэр (WAF) для блокировки вредоносных запросов.
Соблюдать передовые методы безопасности WordPress, включая использование только необходимых плагинов и их регулярное обновление.

Эта уязвимость в GamiPress в очередной раз показывает, насколько важно обеспечивать безопасность WordPress-сайтов. Немедленное обновление плагина и принятие мер по защите – обязательные шаги для администраторов сайтов.

Этот случай напоминает нам о необходимости регулярного сканирования CMS и плагинов на наличие уязвимостей, своевременного обновления программного обеспечения и строгого соблюдения правил кибербезопасности.

Если на вашем сайте установлен GamiPress или аналогичные плагины, обеспечьте постоянный мониторинг безопасности и устанавливайте обновления без промедления!