CVE: CVE-2026-66047
Продукт: Ubuntu
Дата публикации: 31.08.2026
Критичность: CRITICAL
CVSS: 9.2 (4.0)
EPSS: 0,54%; процентиль 43,39%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В плагине ProfilePress для WordPress обнаружена критическая уязвимость, позволяющая неаутентизированному атакующему выполнить произвольный код на сервере. Ошибка связана с использованием слабого 32-битного токена для аутентификации в AJAX-обработчике. В статье разбирается механика атаки, затронутые версии пакетов в Ubuntu и методы проверки исправления.
Основные характеристики
Уязвимость позволяет злоумышленнику получить полный контроль над веб-сервером, эксплуатируя плагин ProfilePress. Атака не требует предварительной аутентификации, что делает её особенно опасной для публичных сайтов.
- Тип ошибки: CWE-306 (Missing Authentication for Critical Function) и CWE-330 (Use of Insufficiently Random Values).
- CVSS 4.0: 9.2 (CRITICAL). Вектор:
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N.
- CVSS 3.1: 9.8. Вектор:
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.
- EPSS: 0,54% (процентиль 43,39%). Это вероятность эксплуатации в ближайшие 30 дней.
- Статус: Подтверждено наличием технического описания. Факты эксплуатации в реальных атаках не раскрыты.
Какие продукты и версии затронуты
Уязвимость затрагивает плагин ProfilePress (wp-user-avatar) версии до 4.17.2. В дистрибутивах Ubuntu плагин распространяется как часть пакета
wordpress.Затронутые версии пакетов в Ubuntu:
- Ubuntu 16.04 LTS (xenial):
wordpress4.4.2+dfsg-1ubuntu1
- Ubuntu 18.04 LTS (bionic):
wordpress4.9.5+dfsg1-1
- Ubuntu 20.04 LTS (focal):
wordpress5.3.2+dfsg1-1ubuntu1
- Ubuntu 22.04 LTS (jammy):
wordpress5.8.3+dfsg1-1ubuntu1.1
- Ubuntu 24.04 LTS (noble):
wordpress6.4.3+dfsg1-1ubuntu1
- Ubuntu 26.04 LTS (resolute):
wordpress6.7.2+dfsg1-1.1ubuntu2
Также затронуты сопутствующие пакеты:
wordpress-l10n и пакеты тем (wordpress-theme-*) в указанных версиях.Причина уязвимости
Причина уязвимости заключается в нарушении принципа аутентификации критических функций (CWE-306) и использовании предсказуемых значений (CWE-330).
Плагин ProfilePress использует 32-битный «connect token» для проверки подлинности запросов в AJAX-обработчике
ppress_connect_process. Этот токен является слишком слабым и может быть перебран (brute-forced) атакующим. После успешного подбора токена система считает запрос легитимным, позволяя выполнять действия, требующие прав администратора, без реальной аутентификации пользователя.Как работает атака
Атакующий отправляет HTTP-запрос к AJAX-обработчику плагина, подставляя различные значения в параметр токена. Из-за малой энтропии (32 бита) перебор ключа возможен в разумные сроки.
После успешного подбора токена атакующий управляет параметром
file в запросе, указывая URL внешнего ресурса. Плагин загружает и активирует плагин с этого URL. Если атакующий контролирует этот URL, он может загрузить вредоносный плагин, содержащий PHP-код, который будет выполнен на сервере.Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо соблюдение следующих условий:
- На сайте установлен плагин ProfilePress версии до 4.17.2.
- Плагин активен и его AJAX-обработчик доступен извне.
- Атакующий имеет сетевой доступ к веб-серверу.
- Атакующий может контролировать URL, указываемый в параметре
file(например, через собственный веб-сервер).
Возможный сценарий атаки
Сценарий атаки начинается с автоматизированного перебора 32-битного токена. Атакующий отправляет серию запросов к
admin-ajax.php с разными значениями токена. При совпадении с верным токеном сервер возвращает успешный ответ.Далее атакующий отправляет запрос с параметром
file, указывающим на URL вредоносного плагина. WordPress загружает этот плагин и активирует его. Вредоносный код выполняется в контексте пользователя веб-сервера, что позволяет атакующему выполнять произвольные команды, читать файлы или устанавливать бэкдор.Есть ли публичный эксплойт
Доступно техническое описание уязвимости от разработчика (VulnCheck). Публичный PoC (Proof of Concept) или готовый эксплойт в открытых базах данных не подтверждены. Отсутствие сведений о публичном эксплойте не означает, что он не существует; атакующие могут использовать описанную механику для создания собственных инструментов.
Признаки эксплуатации
Специфичные IOC (Indicators of Compromise) для этой уязвимости не опубликованы. Общие признаки, которые могут указывать на эксплуатацию, включают:
- Необычные запросы к
admin-ajax.phpс параметромaction=ppress_connect_process.
- Появление неизвестных плагинов в директории
wp-content/plugins/.
- Изменения в файлах конфигурации WordPress или создание новых PHP-файлов в корневой директории сайта.
- Высокая нагрузка на CPU или сеть, связанная с перебором токенов.
Как обнаружить атаку
Для обнаружения атаки рекомендуется анализировать логи веб-сервера и WordPress.
- Логи веб-сервера: Ищите повторяющиеся запросы к
admin-ajax.phpс параметромaction=ppress_connect_processот одного IP-адреса.
- Логи WordPress: Проверяйте записи в
wp-content/debug.log(если включено) на ошибки, связанные с загрузкой плагинов.
- Файловая система: Регулярно проверяйте директорию
wp-content/plugins/на наличие новых или изменённых файлов, особенно PHP-файлов, созданных недавно.
Как проверить свою версию
Для проверки версии установленного пакета WordPress в Ubuntu используйте следующие команды:
Bash:
cat /etc/os-release
uname -r
apt-cache policy wordpress
ubuntu-security-status
Команда
apt-cache policy wordpress покажет установленную и доступную версии пакета. Замените <имя-пакета> на wordpress при необходимости. Если версия ниже указанной в разделе «Затронутые продукты», система уязвима.Исправление
Основной способ устранения уязвимости — обновление плагина ProfilePress до версии 4.17.2 или выше.
- Обновление через WordPress: Если плагин установлен через репозиторий WordPress, обновите его через панель администратора.
- Обновление пакета Ubuntu: Выполните
sudo apt update && sudo apt upgrade wordpressдля получения исправленной версии пакета.
- Удаление плагина: Если плагин не используется, удалите его:
sudo apt remove wordpressили удалите файлы вручную изwp-content/plugins/.
Временные меры защиты
Пока обновление не установлено, можно применить следующие временные меры:
- Отключение плагина: Деактивируйте плагин ProfilePress через панель администратора WordPress или переименуйте его директорию в
wp-content/plugins/.
- Ограничение доступа: Настройте веб-сервер (Nginx/Apache) для блокировки доступа к
admin-ajax.phpдля неаутентизированных пользователей, если это не нарушает функциональность сайта.
- WAF: Используйте веб-прикладной межсетевой экран (WAF) для фильтрации подозрительных запросов к
admin-ajax.php.
Как проверить устранение уязвимости
После обновления проверьте, что уязвимость устранена:
- Убедитесь, что версия плагина ProfilePress составляет 4.17.2 или выше.
- Проверьте, что пакет
wordpressв Ubuntu обновлён до последней доступной версии.
- Проведите сканирование сайта с помощью инструмента безопасности (например, WPScan) для подтверждения отсутствия известных уязвимостей.
- Убедитесь, что AJAX-обработчик
ppress_connect_processнедоступен для неаутентизированных пользователей или защищён надлежащим образом.
Вывод
CVE-2026-66047 представляет серьёзную угрозу для сайтов, использующих плагин ProfilePress. Критический уровень опасности и возможность атаки без аутентификации требуют немедленных действий.
Администраторы должны обновить плагин до версии 4.17.2 или выше, проверить версии пакетов в Ubuntu и применить временные меры защиты до завершения обновления.
Регулярный мониторинг логов и файловая система помогут обнаружить следы эксплуатации.
Официальные источники
История обновлений статьи
- 03.09.2026 — Опубликована первая версия материала.
- 05.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
