Критическая уязвимость в плагине Everest Forms Pro эксплуатируется в реальных атаках: более 29 тысяч попыток взлома

information security

Специалисты компании Wordfence, занимающейся защитой сайтов на WordPress, зафиксировали массовую эксплуатацию критической уязвимости в плагине Everest Forms Pro. Этот плагин для создания форм установлен примерно на четырёх тысячах сайтов. Проблема позволяет неавторизованным злоумышленникам удалённо выполнить произвольный PHP-код на сервере, что ведёт к полному захвату сайта. Уязвимость получила идентификатор CVE-2026-3300 и рейтинг опасности 9,8 балла по шкале CVSS (Common Vulnerability Scoring System - стандарт оценки серьёзности уязвимостей). Разработчик выпустил исправление в версии 1.9.13 ещё 18 марта, однако атаки начались только 13 апреля, а пик пришёлся на 16 мая.

Описание

Причина уязвимости кроется в механизме сложных вычислений, который реализован в дополнительном модуле расчётов. Внутри плагина есть функция process_filter(), которая собирает значения полей формы, введённые пользователем, и подставляет их в строку PHP-кода. После этого строка передаётся функции eval() - той самой, что выполняет переданный код как часть программы. Разработчики попытались обезопасить ввод с помощью штатной функции sanitize_text_field(), но она не экранирует одинарные кавычки и другие символы, значимые для синтаксиса PHP. Поэтому злоумышленник может отправить в любое строковое поле формы (текст, email, URL, выпадающий список, переключатель) значение, которое начинается с одинарной кавычки. Это значение "закрывает" строку в генерируемом PHP-коде, после чего можно дописать произвольную команду и завершить её символами комментария //. В результате остаток кода игнорируется, а инъекция выполняется.

Wordfence в своём анализе привёл пример реальной атаки. Злоумышленники отправляют POST-запрос к файлу admin-ajax.php, передавая в одном из полей формы примерно такую строку:

То есть атакующий сразу пытается создать нового администратора сайта с именем diksimarina. Если такой пользователь уже существует, он просто получает уведомление. Как только учётная запись создана, злоумышленник может войти под ней, загрузить веб-шелл (инструмент для удалённого управления), изменить темы или плагины, установить бэкдоры - иными словами, полностью взять сайт под контроль.

Статистика показывает, что файрвол Wordfence заблокировал уже более 29 300 попыток эксплуатации этой уязвимости. Наибольшая активность зафиксирована 16 мая - за один день было предотвращено свыше 17 900 атак. Если среди администраторов обнаружилась учётная запись diksimarina или любой другой подозрительный аккаунт, его нужно удалить, а сайт тщательно проверить на наличие вредоносного кода.

Пользователи плагина Everest Forms Pro должны как можно скорее обновиться до версии 1.9.13, которая закрывает эту уязвимость. Разработчик выпустил патч ещё 18 марта, но многие сайты, судя по данным Wordfence, остаются незащищёнными. Плагин не обновляется автоматически, поэтому администраторам нужно зайти в панель управления WordPress и установить обновление вручную. Если у вас есть знакомые или коллеги, использующие этот плагин, стоит предупредить их об опасности.

Даже при наличии файрвола (WAF) необходимо установить патч, чтобы не нарушить нормальную работу сайта. Ведь если файрвол блокирует вредоносные запросы, но уязвимость остаётся, любой обход защиты может привести к компрометации.

Для тех, кто подозревает, что сайт уже взломан, Wordfence предлагает услуги реагирования на инциденты. Компания может провести расследование, удалить найденные бэкдоры и восстановить работоспособность. Но лучшая защита, как всегда, - своевременное обновление всех компонентов сайта. Критические уязвимости в популярных плагинах для WordPress возникают регулярно, и именно неприменённые патчи остаются главной причиной успешных атак. В случае с Everest Forms Pro злоумышленники уже активно используют найденную брешь, поэтому медлить с обновлением нельзя.

Индикаторы компрометации

IPv4

  • 15.235.166.18
  • 185.78.165.153
  • 202.56.2.126
  • 209.146.60.26

IPv6

  • 2402:1f00:8000:800::40db

Комментарии: 0