Уязвимости в темах и плагинах WordPress: как защитить сайт

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

WordPress: уязвимости в плагинах и темах

В последнее время на новостных сайтах, связанных с тематикой информационной безопасности, часто упоминалась система управления контентом (CMS) WordPress. Чаще всего причиной были уязвимости во всевозможных плагинах и темах для нее; впрочем, наши коллеги также наблюдали кейс, в котором злоумышленники распространяли трояны через плохо защищенные WordPress-сайты. Само по себе это не удивительно — данная CMS остается одной из самых популярных. Но такое количество обнаруженных в ее плагинах уязвимостей и связанных с ней инцидентов говорит о том, что за ней тщательно следят не только исследователи из мира ИБ, но и злоумышленники.

Инциденты, связанные с WordPress

Только за это лето стало известно о нескольких достаточно серьезных инцидентах, в которых злоумышленники действовали через WordPress.

Плагин Gravity Forms: компрометация сайта и заражение кода

В начале июля злоумышленники получили доступ к сайту Gravity Forms, популярного расширения для создания форм, и внедрили вредоносный код в версии 2.9.11.1 и 2.9.12 плагина. Сайты, на которых эти версии плагина были установлены администраторами вручную или через инструмент управления PHP-зависимостями Composer в период с 9 по 10 июля, были заражены зловредом.

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

Разработчики Gravity Forms рекомендуют всем своим пользователям проверить, не установлена ли у них потенциально опасная версия. Инструкции, как это легко сделать, можно найти в предупреждении об инциденте на официальном сайте плагина. Там же находится и инструкция по устранению угрозы. Ну и, разумеется, необходимо обновить плагин до версии 2.9.13.

WordPress-тема Alone: активная эксплуатация уязвимости CVE-2025-5394

Также в июле стало известно, что некие злоумышленники активно эксплуатируют критическую уязвимость валидации загрузки файлов без аутентификации (CVE-2025-5394), которая затрагивает все версии темы для WordPress Alone до 7.8.3 включительно. Благодаря этому атакующие могут организовать удаленное выполнение произвольного кода (RCE) и получить полный контроль над уязвимым сайтом.

Примечательно, что атаки начались за несколько дней до официального раскрытия информации об уязвимости. По данным компании Wordfence, уже на 12 июня было зафиксировано более 120 000 попыток эксплуатации CVE-2025-5394.  Случаи эксплуатации уязвимости «в дикой природе» включают использование уязвимости для загрузки ZIP-архивов с веб-шеллами, установки PHP-бэкдоров с паролем для удаленного доступа по HTTP, а также для создания скрытых администраторских аккаунтов. В некоторых случаях на уязвимый WordPress-сайт дополнительно устанавливались полноценные файловые менеджеры, обеспечивающие полный контроль над базой данных сайта.

Разработчики темы Alone для WordPress опубликовали версию 7.8.5, в которой уязвимость была устранена. Всем пользователям рекомендуется как можно скорее обновить тему до этой версии. Дополнительные советы по защите от этой уязвимости можно найти в отчете Wordfence.

WordPress-тема Motors: эксплуатация уязвимости CVE-2025-4322

В том же июне злоумышленники активно атаковали сайты на WordPress с помощью уязвимости в другой премиум‑теме для WordPress под названием Motors. В этом случае злоумышленники использовали уязвимость CVE-2025-4322 в процессе валидации пользователей для захвата администраторских аккаунтов на сайтах, затрагивающую все версии темы вплоть до 5.6.67.

Создатели темы из компании StylemixThemes выпустили версию Motors 5.6.68 еще 14 мая 2025 года, а исследователи из Wordfence предупредили о существовании уязвимости 19 мая и настоятельно рекомендовали пользователям немедленно обновить тему. Но обновиться успели далеко не все — атаки начались уже на следующий день, 20 мая, а 7 июня Wordfence уже видела  23 100 попыток атак с использованием этой уязвимости.

При успешной атаке при помощи CVE-2025-4322 злоумышленники получают права администратора, создают новые учетные записи, а также меняют пароли у существующих пользователей.

Зловред Efimer: распространение через взлом WordPress-сайтов

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

Тщательное изучение скрипта показало, что у Efimer была и дополнительная функциональность, позволяющая подбирать пароли к WordPress-сайтам. По сути, каждый раз при активации зловреда запускался еще и процесс брутфорса, который пробовал войти в админку, используя набор стандартных паролей, жестко заданных в скрипте. Удачно подобранные пароли отправлялись на командный сервер злоумышленников.

Потенциально опасные уязвимости

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

GiveWP: уязвимость в WordPress‑плагине для сбора пожертвований

В конце июля этого года команда open-source проекта Pi-hole обнаружила уязвимость в плагине GiveWP, который она использовала на своем WordPress-сайте. Этот плагин позволяет принимать пожертвования через Интернет, отслеживать прогресс кампании по сбору средств и выполнять другие функции.

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

Разработчики плагина GiveWP выпустили патч в течение нескольких часов после того, как уязвимость была зафиксирована на GitHub. Однако данные находились в открытом доступе, поэтому сервис уведомлений об утечках данных Have I Been Pwned добавил инцидент в свою базу и оценил количество людей, чьи данные оказались скомпрометированы, почти в 30 000.

Администраторам сайтов, использующим GiveWP, рекомендуется обновить плагин до версии 4.6.1 или более новой.

Post SMTP: уязвимость CVE-2025-24000 позволяет захватить учетную запись администратора

Уязвимость CVE-2025-24000 с оценкой 8.8 по шкале CVSS была обнаружена в плагине Post SMTP. Это расширение, которое обеспечивает более надежную и удобную доставку исходящих писем с сайта WordPress, чем встроенная функция wp_mail.

CVE-2025-24000 затрагивает все версии Post SMTP до 3.2.0 включительно и связана с нарушением механизма контроля доступа в REST API плагина. Проблема состоит в том, что данный API проверяет лишь сам факт авторизации, но не уровень доступа пользователя. Из-за этого пользователь с минимальными правами может просматривать логи, в которых сохраняются отправленные письма вместе с их полным содержимым.

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

Обновленная версия Post SMTP 3.3.0, в которой эта уязвимость закрыта, была опубликована разработчиком еще 11 июня. Однако статистика загрузок на WordPress.org на момент написания этого поста показывала, что лишь около половины пользователей плагина (51,2%) обновились до версии 3.3. Это означает, что более 200 000 сайтов остаются уязвимыми. При этом около четверти сайтов — 23,4%, или порядка 100 000 — по-прежнему используют ветку версий 2.x, которая содержит не только эту, но и другие уязвимости.

При этом в сети уже можно найти доказательство работоспособности (PoC) эксплойта для CVE-2025-24000, позволяющего захватить учетную запись администратора на уязвимом сайте (хотя его работоспособность мы не проверяли).

Как защитить сайт на WordPress

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

  • Минимизируйте количество плагинов и тем. Устанавливайте только действительно необходимые компоненты. Чем их меньше — тем ниже риск, что в каком-то из них обнаружится уязвимость.
  • Тщательно тестируйте плагины изолированной среде и анализируйте код на наличие закладок перед установкой.
  • Отдавайте предпочтение популярным плагинам. Это не гарантия безопасности, но в крупных проектах уязвимости, как правило, быстрее замечают и устраняют.
  • Избегайте заброшенных компонентов — уязвимости в них могут остаться навечно.
  • Следите за аномалиями — регулярно просматривайте список учетных записей с правами администраторов на предмет появления незнакомцев, проверяйте сигналы о внезапно неработающих паролях у существующих пользователей.
  • Ужесточите парольную политику: заставьте пользователей использовать сложные пароли, сделайте обязательным использование двухфакторной аутентификации.
  • Грамотно реагируйте на инциденты. Если есть подозрения, что ваш сайт взломали, важно быстро зафиксировать инцидент и восстановить безопасность ресурса. Если не уверены в своих силах — обратиесь к внешним специалистам, это поможет оперативно обнаружить проблему и минимизировать ущерб.
Как удалить себя из баз данных брокеров личной информации

Зачем брокеры данных собирают на вас досье и как это прекратить

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

Как удалить себя из баз данных брокеров личной информации
Советы