Пришел заказ. Вы открыли его в WordPress - все выглядит обычно. Но скрипт, спрятанный в данных заказа, уже использовал вашу открытую админку, чтобы установить бэкдор.
С 4 октября 2026 года так атакуют сайты с WPC Product Bundles for WooCommerce. С 5 октября злоумышленники используют и отдельную уязвимость Ninja Forms. Patchstack сообщил об этой кампании 6 октября, о ней также написал BleepingComputer. По данным Patchstack, атак пока немного. Но если у вас стоит один из этих плагинов, ждать жалобы от покупателя точно не стоит.
Как заявка или заказ превращается в проблему с админкой
Это два разных плагина и две уязвимости типа stored XSS - когда вредный скрипт сохраняется на сайте и запускается позже. Аккаунт злоумышленнику не нужен. В Ninja Forms он отправляет обычную форму, добавив вредный текст в многострочное поле. В WPC Product Bundles подставляет специально подготовленное значение количества товара, которое сохраняется в заказе WooCommerce. Скрипт срабатывает, когда администратор открывает такую заявку или заказ.
Скрипт подгружается с https://imgcdn1.com/fz/x.js. Куки он не крадет. Вместо этого действует внутри уже открытой админской сессии: забирает защитные токены WordPress - nonce - и через штатный установщик плагинов добавляет поддельный плагин. Домен зарегистрировали 1 октября, уже после того, как 22 сентября публично раскрыли обе уязвимости.
Поддельный плагин называется WP Smart Thumbnails, версия 1.2.4, автор указан как MediaPress Labs. Он лежит в wp-content/plugins/wp-smart-thumbnails/ и ничего не делает при обычной загрузке WordPress. Витрина магазина может работать как ни в чем не бывало. Проверка «сайт же открывается» тут бесполезна.
Четыре способа вернуться на сайт
Одним подозрительным плагином дело не ограничивается. Атака оставляет несколько входов:
- Видимый администратор. Скрипт создает аккаунт через обычный экран пользователей WordPress. Логин и пароль приходят с сервера злоумышленника.
- Скрытый администратор. Логин может выглядеть безобидно, например
supportилиbackup, а почта заканчивается на@wordpress.org. Обязательный плагин с именем видаclass-wp-query-<8 hex chars>.phpпрячет аккаунт из списка пользователей, фильтра администраторов и счетчиков. - Тайный вход. Еще один обязательный плагин,
class-wp-token-validate.php, принимает адрес вида/wp-login.php?_wplogin=<token>. По нему злоумышленник входит от имени самого старого администратора - часто это владелец сайта. Токены хранятся вfz_emer_login_tokens. - Файловый менеджер без пароля. Прямой запрос к
wp-smart-thumbnails.phpоткрывает менеджер файлов. Через него можно загружать, менять и удалять файлы. В заголовке есть строкаMoon, tell me if I could.
Обязательные плагины запускаются при каждом запросе. Отключить их из wp-admin нельзя, а в обычном списке плагинов их нет - ищите раздел Must-Use. Если просто удалить папку поддельного плагина, эти файлы останутся. Вот почему после «успешной» чистки заражение порой возвращается. Подробнее - в статье о том, почему сайт снова заражается после очистки.
Шаг 1. Обновите оба плагина
Ninja Forms обновите до последней версии - сейчас это 3.15.5. Исправление появилось в 3.15.4, версии до 3.15.3 включительно уязвимы. WPC Product Bundles тоже обновите до последней версии, сейчас это 8.7.4. Исправление вышло в 8.6.7; версии до 8.6.6 включительно затронуты.
Сделайте это первым делом, чтобы новые зараженные записи не использовали эти дыры. Обычно апдейт занимает несколько минут, но перед ним сохраните бэкап. И не останавливайтесь: обновление не удалит уже поставленные бэкдоры. Patchstack допускает, что тот же вредный код могут доставить через другие плагины с похожей уязвимостью.
Шаг 2. Проверьте, не успели ли вас атаковать
Понадобится доступ к файлам на хостинге. Для проверки базы - phpMyAdmin или помощь человека, который ведет ваш сайт. На первичный осмотр заложите хотя бы полчаса. Одной админки WordPress тут мало.
- Поищите папку
wp-content/plugins/wp-smart-thumbnails/. Среди известных файлов -wp-smart-thumbnails.php,emer-run.php,readme.txtиincludes/class-thumb-cache.php. - Проверьте
wp-content/mu-plugins/: нет ли тамclass-wp-query-*.phpиclass-wp-token-validate.php. Датам файлов не верьте. Файлы поддельного плагина датировали задним числом июлем 2026 года, а обязательным плагинам поставили старую дату одного из файлов в корне WordPress. - Сравните администраторов в wp-admin с пользователями и ролями администраторов в базе через phpMyAdmin. Ищите незнакомые адреса
@wordpress.org. Командаwp user list --role=administratorтоже пригодится, но скрывающий плагин может повлиять и на ее вывод. Прямая проверка базы надежнее. - Поищите среди настроек WordPress значения
fz_emer_done_v1иfz_emer_login_tokens. В доступных логах сервера или защитного плагина ищитеimgcdn1.com, запросы с_wploginи прямые обращения кwp-smart-thumbnails.php. - Проверьте свежие заявки Ninja Forms и заказы WooCommerce на теги скриптов. Лучше делать это через базу данных. Либо сначала обновите плагины и только потом открывайте записи в редакторе: просмотр зараженной записи в старой версии может запустить атаку.
И не полагайтесь только на совпадение хеша файла - злоумышленник меняет маскировку для каждого сайта. Сканер вредоносных программ поможет найти подозрительные файлы, но не заменит проверки выше.
Нашли следы? Убирайте всю цепочку
Сначала сохраните копию файлов и базы - это пригодится для разбора инцидента. Затем удалите wp-smart-thumbnails/ и оба вредоносных файла из mu-plugins. Удалите две настройки fz_emer_ и созданные злоумышленником админские аккаунты, включая скрытый аккаунт из базы. Перед удалением каждого пользователя убедитесь, что это не ваш сотрудник.
Смените пароли самому старому администратору и всем остальным админам. Обновите ключи и соли WordPress в wp-config.php - так вы завершите открытые сессии. Файловый менеджер без пароля мог записать что-то и в другие папки, поэтому проверьте сайт на дополнительные файлы и запустите сканирование. Потом уберите зараженные заявки или данные заказов, чтобы никто снова не открыл скрипт. Копию для разбора сохраните до удаления.
Если не уверены, какие файлы и аккаунты чужие, не удаляйте их наугад - лучше заказать очистку взломанного сайта. А статья о том, что делать в первые 24 часа после взлома, поможет расставить следующие шаги по порядку.
Одна проверка на сегодня
Уже обновились? Откройте файловый менеджер хостинга и загляните в wp-content/mu-plugins/. Если там лежит хотя бы один из двух названных файлов, зеленая надпись «плагины обновлены» ничего не говорит о чистоте сайта.