Критическая уязвимость WordPress-плагина Sneeit Framework
Критическая уязвимость удалённого выполнения кода (CVE-2025-6389) в плагине Sneeit Framework для WordPress активно эксплуатируется злоумышленниками по всему миру.
С максимальной оценкой CVSS 9.8 эта уязвимость неаутентифицированного RCE позволяет атакующим выполнять произвольный PHP-код на уязвимых установках WordPress, что приводит к полной компрометации сайта.
С момента публичного раскрытия уязвимости 24 ноября 2025 года зафиксировано более 131 000 попыток эксплуатации, направленных примерно на 1 700 активных установок.
Обзор уязвимости
Техническая классификация
| Параметр | Детали |
|---|---|
| CVE ID | CVE-2025-6389 |
| Оценка CVSS | 9.8 (Critical) |
| Тип уязвимости | Удалённое выполнение кода без авторизации (Unauthenticated RCE) |
| Затронутый плагин | Sneeit Framework |
| Уязвимые версии | 8.3 и ниже |
| Исправленная версия | 8.4+ |
| Активных установок | ~1 700 сайтов на WordPress |
| Нужна аутентификация? | Нет |
| Дата обнаружения | 10 июня 2025 |
| Дата выхода патча | 5 августа 2025 |
| Публичное раскрытие | 24 ноября 2025 |
| Начало эксплуатации | 24 ноября 2025 (в тот же день) |
Хронология событий
| Дата | Событие |
|---|---|
| 10 июня 2025 | Уязвимость обнаружена исследователем безопасности Tonn |
| 23 июня 2025 | Пользователи Wordfence Premium получают защиту фаервола |
| 23 июля 2025 | Пользователи бесплатного Wordfence получают защиту |
| 5 августа 2025 | Вендор выпускает исправленную версию 8.4 |
| 24 ноября 2025 | Публичное раскрытие информации об уязвимости |
| 24 ноября 2025 | Начало активных кампаний по эксплуатации |
| Декабрь 2025 | Зафиксировано более 131 000 заблокированных попыток эксплуатации |
Технический разбор
Первопричина
Уязвимость вызвана недостаточной проверкой входных данных в функции sneeitarticlespaginationcallback.
Плагин передаёт параметры, полученные от пользователя, в PHP-функцию call_user_func без должной санитизации и ограничений, открывая прямой путь к выполнению произвольного кода.
Уязвимый шаблон поведения:
- Функция
sneeitarticlespaginationcallback:- принимает параметр
callback(контролируется пользователем), - принимает параметр
args(контролируется пользователем), - передаёт их напрямую в
call_user_funcбез валидации, - при этом нет проверок аутентификации.
- принимает параметр
Итог: любой внешний пользователь может вызвать произвольную PHP-функцию с произвольными аргументами.
Детали вектора атаки
Злоумышленники эксплуатируют уязвимость, отправляя специально сформированные AJAX POST-запросы к административной точке входа WordPress:
- Целевой endpoint:
wp-admin/admin-ajax.php
Ключевые параметры эксплуатации:
action:sneeitarticlespaginationcallbackcallback: имя произвольной PHP-функцииargs: вредоносные параметры/код
Методика атаки
| Фаза | Действие злоумышленника | Цель |
|---|---|---|
| 1. Разведка | Вызов функции phpinfo() |
Сбор информации о конфигурации сервера |
| 2. Закрепление | Создание учётных записей администраторов через wp_insert_user |
Получение устойчивого доступа |
| 3. Бэкдоры | Загрузка вредоносных PHP-файлов | Развёртывание web-shell’ов и тулзов |
| 4. Повышение привилегий / обход ограничений | Модификация .htaccess |
Обход ограничений на загрузку и выполнение |
| 5. Латеральное движение | Деплой дополнительных payload’ов | Расширение контроля, эксфильтрация данных |
Известные вредоносные файлы и IoC
Сигнатуры вредоносов
| Имя файла | Тип | Назначение |
|---|---|---|
xL.php |
Web Shell | Удалённое выполнение команд, управление файлами |
Canonical.php |
Бэкдор | Сканирование директорий, изменение прав доступа |
upsf.php |
Downloader | Загрузка дополнительных payload’ов с C2-сервера |
tijtewmg.php |
Web Shell | Загрузка/выгрузка файлов, распаковка ZIP-архивов |
finderdata.txt |
Data file | Хранение собранной информации о системе/сайте |
goodfinderdata.txt |
Data file | Инвентаризация скомпрометированных сайтов |
Инфраструктура управления (C2)
| Тип индикатора | Значение | Назначение |
|---|---|---|
| Домен | racoonlab.top |
Распространение вредоносов и C2 |
| Основной IP | 185.125.50.59 |
>74 000 заблокированных запросов |
| Вторичный IP | 182.8.226.51 |
>24 200 заблокированных запросов |
| Третий IP | 89.187.175.80 |
>4 600 заблокированных запросов |
Индикаторы компрометации (IoC)
Администраторам сайтов следует проверить:
1. Аномалии в учётных записях
- Новые учётные записи администраторов с подозрительными логинами
- Создание админ-аккаунтов в нерабочее время
- Несколько админ-учёток, созданных с одного IP-адреса
2. Изменения в файловой системе
- Неизвестные PHP-файлы в директориях WordPress
- Изменённые
.htaccessв каталогах загрузок - Новые директории с случайными буквенно-цифровыми названиями
- Файлы с правами на выполнение в папках загрузок (
wp-content/uploadsи др.)
3. Следы в логах
- POST-запросы к
admin-ajax.phpс параметрамиcallback/args - Запросы с известных вредоносных IP (см. таблицу выше)
- Выполнение
phpinfo()в access-логах - Вызовы
wp_insert_userиз подозрительных источников
4. Сетевые индикаторы
- Исходящие соединения к домену
racoonlab.top - Нетипично частые запросы к
admin-ajax.php - Много неуспешных попыток логина, за которыми следует успешное создание админа
Оценка влияния
Матрица критичности рисков
| Категория влияния | Критичность | Описание |
|---|---|---|
| Конфиденциальность | Critical | Полный доступ к базе данных, кража учётных данных |
| Целостность | Critical | Подмена контента, дефейс, инъекция вредоносного кода |
| Доступность | High | Простой сайта, ресурсные атаки на сервер |
| Финансовые риски | High | Расходы на ликвидацию последствий, штрафы, потери выручки |
| Репутация | High | SEO-спам, распространение вредоносного ПО через сайт |
| Юридические риски | Medium–High | Нарушение законов о защите данных, проблемы с PCI DSS |
Последствия атаки
Непосредственные угрозы:
- Полная компрометация установки WordPress
- Несанкционированный административный доступ
- Развёртывание вредоносного ПО и web-shell’ов
- Манипуляции с базой данных, эксфильтрация данных
- Инъекция SEO-спама и скрытых ссылок
- Настройка вредоносных редиректов для пользователей
Долгосрочные риски:
- Долгоживущие бэкдоры и скрытые точки доступа
- Использование сайта как платформы для фишинговых кампаний
- Превращение сайта в узел распространения вредоносов
- Блокировка сайта поисковыми системами (blacklist)
- Утечки данных клиентов и пользователей
- Риски несоответствия требованиям регуляторов и стандартов
Митигирование и устранение
Немедленные действия
Приоритет 1: Обновить плагин (Critical)
- Сделать резервную копию сайта и базы данных
- Срочно обновить Sneeit Framework до версии 8.4 или выше
- Если плагин больше не нужен — деактивировать и удалить его
- Проверить установленную версию плагина, например:
wp plugin list --format=table
Приоритет 2: Аудит безопасности (Urgent)
Проверить признаки компрометации:
# Поиск известных вредоносных файлов
find /path/to/wordpress -name "xL.php" -o -name "Canonical.php" -o -name "upsf.php" -o -name "tijtewmg.php"
# Проверка администраторов
wp user list --role=administrator --format=table
# Просмотр недавно изменённых файлов (за 7 дней)
find /path/to/wordpress -type f -mtime -7 -ls
# Поиск типичных признаков бэкдоров (base64, eval)
grep -r "base64_decode" /path/to/wordpress/wp-content/plugins/
grep -r "eval(" /path/to/wordpress/wp-content/plugins/
Приоритет 3: Проверка доступа (High)
- Проверить все админ-аккаунты на предмет несанкционированных добавлений
- Принудительно сбросить пароли всех администраторов
- Включить двухфакторную аутентификацию (2FA) для админов
- Проанализировать историю входов (время, IP, страна)
- Проверить cron-задания на наличие вредоносных задач
Процедура очистки при подтверждённой компрометации
Шаг 1: Изоляция сайта
- Перевести сайт в режим обслуживания или временно отключить внешний доступ
- Заблокировать подозрительные IP на уровне фаервола
- Временно ограничить или отключить обработку AJAX-запросов
Шаг 2: Удаление вредоносных файлов
- Удалить все файлы из списка IoC
- Просканировать код на наличие
eval(),base64_decode(),system(),shell_exec()и др. опасных функций - Удалить несанкционированные изменения в
.htaccess - Очистить подозрительные
.txt-файлы в директориях загрузок, если они используются злоумышленниками
Шаг 3: Очистка базы данных
- Удалить неавторизованные учётные записи администраторов
- Проверить таблицу
wp_optionsна наличие внедрённого кода - Проверить
wp_postsна SEO-спам, скрытые редиректы и ссылки - Убедиться в целостности таблицы
wp_users
Шаг 4: Восстановление целостности
- Переустановить ядро WordPress из оригинального дистрибутива
- Обновить все темы и плагины до последних версий
- По возможности — восстановить сайт из чистой резервной копии
- Сменить все пароли (админы, FTP/SFTP, SSH, база данных, панели управления, API-ключи)
Шаг 5: Включить мониторинг
- Включить и настроить журналирование безопасности в WordPress
- Настроить контроль целостности файлов
- Включить уведомления о создании новых админ-аккаунтов
- Отслеживать признаки активности по IoC (файлы, домены, IP, запросы)
Рекомендации по предотвращению
| Мера защиты | Реализация | Приоритет |
|---|---|---|
| Регулярные обновления | Автообновление плагинов, тем и ядра | Critical |
| Web Application Firewall | WAF (Wordfence, Sucuri, Cloudflare и др.) | Critical |
| Мониторинг целостности | AIDE, Tripwire или аналоги | High |
| Ужесточение конфигурации | Запрет редактирования файлов, ограничение типов файлов загрузки | High |
| Контроль доступа | Принцип минимально необходимых привилегий | High |
| 2FA | Обязательная двухфакторная авторизация для админов | High |
| Регулярные сканы | Плановые сканирования на уязвимости | Medium |
| Резервное копирование | Ежедневные автоматические бэкапы с хранением вне сервера | Critical |
| Мониторинг логов | Централизованные логи, интеграция с SIEM | Medium |
| План реагирования | Документированные процедуры при инцидентах | Medium |
Рекомендации по безопасности
Чек-лист по усилению защиты WordPress
Безопасность конфигурации:
- Отключить XML-RPC, если он не используется
- Ограничить количество попыток входа (например, 3–5 неудачных)
- Изменить стандартный префикс БД
wp_ - Отключить листинг директорий на веб-сервере
- Убрать отображение версии WordPress с публичных страниц
- Запретить редактирование файлов через админку:
define('DISALLOW_FILE_EDIT', true);
Управление плагинами:
- Проводить аудит установленных плагинов не реже одного раза в квартал
- Удалять неиспользуемые и заброшенные плагины
- Устанавливать плагины только из официального репозитория WordPress
- Перед установкой проверять дату последнего обновления и репутацию разработчика
- Анализировать, какие права и доступы запрашивает плагин
Защита на уровне сервера:
- Обновлённая версия PHP (8.0+)
- Правильные права доступа к файлам (обычно 644 для файлов, 755 для директорий)
- Отключение опасных PHP-функций (
exec,shell_exec,systemи т.п.) - Использование ModSecurity и специализированных правил для Apache/Nginx
- Включённый антивирус/анти-malware на уровне сервера
Мониторинг и детектирование
Ключевые метрики, за которыми нужно следить:
| Метрика | Нормальный уровень | Подозрительная активность |
|---|---|---|
Запросы к admin-ajax.php |
< 100 в час | > 500 в час |
| Неудачные попытки входа | < 10 в день | > 50 в день |
| Новые админ-аккаунты | По известному плану | Вне графика, без одобрения |
| Модификации файлов | В рамках обновлений | Случайные изменения вне релизов |
| Исходящие соединения | Известные сервисы | На неизвестные домены/IP |
| Нагрузка CPU/памяти | < 70% в среднем | Длительная работа > 90% |
Требования комплаенса
Если организация попадает под действие регуляторных требований:
GDPR:
- При возможной утечке персональных данных — уведомить регулятора в течение 72 часов
- Документировать действия по реагированию
- Оценить масштаб и влияние инцидента
PCI DSS:
- Проводить ежеквартальные сканы уязвимостей
- Не реже раза в год — пентест
- Поддерживать безопасную конфигурацию системы
- Внедрить процедуру управления изменениями (change management)
Дополнительные ресурсы
- CVE:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-6389 - Hardening WordPress:
https://wordpress.org/documentation/article/hardening-wordpress/ - OWASP WordPress Security:
https://owasp.org/www-project-wordpress-security/
Заключение
Уязвимость CVE-2025-6389 в плагине Sneeit Framework представляет собой критическую угрозу для безопасности WordPress-сайтов и уже активно используется в массовых автоматизированных атаках.
Ключевой фактор опасности:
- эксплуатация возможна без аутентификации,
- достаточно одного RCE-запроса, чтобы получить полный контроль над сайтом,
- масштаб атак уже измеряется сотнями тысяч попыток.
Администраторам сайтов необходимо рассматривать эту ситуацию как инцидент высокого приоритета, требующий немедленных действий: обновление, аудит, очистка и внедрение дополнительных мер защиты.
Организации, использующие Sneeit Framework, должны:
- внедрить постоянный мониторинг безопасности,
- выстроить процесс регулярного обслуживания и обновления плагинов,
- иметь рабочую стратегию резервного копирования и восстановления.
Ключевые выводы:
- Немедленно обновите Sneeit Framework до версии 8.4+
- Проведите аудит на предмет компрометации и IoC
- Включите WAF и мониторинг целостности файлов
- Настройте регулярное обслуживание и обновление WordPress-стека
- Держите офлайн-бэкапы для быстрого восстановления после инцидента
Будьте внимательны к безопасности и не откладывайте установку критических обновлений — окно между публичным раскрытием и массовой эксплуатацией сегодня измеряется часами, а не неделями.
