Критическая уязвимость WordPress-плагина Sneeit Framework

wordpress уязвимость

Критическая уязвимость 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: sneeitarticlespaginationcallback
  • callback: имя произвольной 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)

  1. Сделать резервную копию сайта и базы данных
  2. Срочно обновить Sneeit Framework до версии 8.4 или выше
  3. Если плагин больше не нужен — деактивировать и удалить его
  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)

  1. Проверить все админ-аккаунты на предмет несанкционированных добавлений
  2. Принудительно сбросить пароли всех администраторов
  3. Включить двухфакторную аутентификацию (2FA) для админов
  4. Проанализировать историю входов (время, IP, страна)
  5. Проверить 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-2025-6389 в плагине Sneeit Framework представляет собой критическую угрозу для безопасности WordPress-сайтов и уже активно используется в массовых автоматизированных атаках.

Ключевой фактор опасности:

  • эксплуатация возможна без аутентификации,
  • достаточно одного RCE-запроса, чтобы получить полный контроль над сайтом,
  • масштаб атак уже измеряется сотнями тысяч попыток.

Администраторам сайтов необходимо рассматривать эту ситуацию как инцидент высокого приоритета, требующий немедленных действий: обновление, аудит, очистка и внедрение дополнительных мер защиты.

Организации, использующие Sneeit Framework, должны:

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

Ключевые выводы:

  • Немедленно обновите Sneeit Framework до версии 8.4+
  • Проведите аудит на предмет компрометации и IoC
  • Включите WAF и мониторинг целостности файлов
  • Настройте регулярное обслуживание и обновление WordPress-стека
  • Держите офлайн-бэкапы для быстрого восстановления после инцидента

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