Две XSS-уязвимости в WordPress позволяют создать скрытого админа
Эксплуатация двух XSS-уязвимостей в WordPress приводит к установке бэкдора
Всплеск попыток эксплуатации двух независимых XSS-уязвимостей в WordPress зафиксировали специалисты Patchstack. Атаки используют единый JavaScript-код, который после срабатывания уязвимости устанавливает на взломанный сайт вредоносный плагин. Этот плагин создает нового администратора, скрытого от глаз владельца сайта, и внедряет механизм для незаметного входа в систему. Эксперты обнаружили, что злоумышленники используют один и тот же вредоносный код для атак на разные плагины. Первый инцидент произошел 4 октября 2026 года, когда была зафиксирована попытка эксплуатации уязвимости CVE-2026-93836 в плагине WPC Product Bundles for WooCommerce. На следующий день, 5 октября, аналогичный вредоносный код был обнаружен при эксплуатации CVE-2026-94504 в плагине Ninja Forms. Вредоносный JavaScript не является сканером уязвимостей или доказательством концепции. Это имплант для постэксплуатации и обеспечения персистентности в WordPress, предназначенный для выполнения в браузере залогиненного администратора. После активации он использует сессию жертвы для установки вредоносного плагина, создания нового администратора, внедрения дополнительного скрытого механизма персистентности и отправки результатов на инфраструктуру злоумышленника.
Плагин WPC Product Bundles for WooCommerce и Ninja Forms подвержены атакам
Уязвимость CVE-2026-93836 находится в плагине WPC Product Bundles for WooCommerce версий до 8.6.6. Она позволяет передавать значение, начинающееся с числового значения, с дополнительной разметкой, контролируемой злоумышленником. Это значение затем небезопасно сохраняется в метаданных заказа WooCommerce. Атаки использовали параметр woosb_ids[…][qty], передавая числовой префикс с последующим тегом скрипта. Уязвимость CVE-2026-94504 присутствует в плагине Ninja Forms версий до 3.15.3. Плагин сохраняет контролируемые злоумышленником текстовые поля без безопасного кодирования HTML в устаревшем редакторе администратора. При просмотре такого сообщения внедренный JavaScript выполняется в контексте административной панели WordPress. Версия 3.15.4 исправила проблему с экранированием вывода. Атаки использовали AJAX-эндпоинт /wp-admin/admin-ajax.php с действием nf_ajax_submit, внедряя вредоносное значение в поля формы. Вредоносный JavaScript x.js является специально разработанным скриптом для постэксплуатации и обеспечения персистентности в WordPress. Он использует легитимные функции администрирования WordPress через существующую аутентифицированную сессию администратора. Скрипт загружает привилегированные страницы WordPress, извлекает CSRF-токены, необходимые для легитимных административных действий, и использует их для выполнения этих действий. Вредоносный плагин устанавливается через /wp-admin/plugin-install.php?tab=upload, используя nonce загрузки. Плагин называется wp-smart-thumbnails и содержит файлы emer-run.php для установки персистентности и class-wp-query-.php, который скрывает созданного администратора. Также создается URL для скрытого входа /wp-login.php?_wplogin=, защищенный плагином class-wp-token-validate.php.
Обновление плагинов и установка патча безопасности необходимы
Владельцам сайтов на WordPress рекомендуется обновить плагин WPC Product Bundles for WooCommerce до последней версии и установить обновление для Ninja Forms до версии 3.15.4 или выше. Если обновление невозможно, следует применить патч безопасности, предложенный Patchstack. Вредоносный скрипт x.js перед выполнением действий по обеспечению персистентности связывается с сервером https://imgcdn1.com/fz/c.php?xa=check&site=. Ответ сервера содержит поля состояния, которые позволяют определить, какие этапы атаки уже были успешно выполнены на конкретном сайте. Вредоносный код также отслеживает локальное состояние выполнения в браузере. Успешные этапы отслеживаются как plugin, admin и emer, а завершенное компрометирование помечается как all. Это предотвращает повторное выполнение действий при многократном срабатывании XSS. Данные о состоянии отправляются на сервер с использованием различных браузерных механизмов, включая fetch(), navigator.sendBeacon() и резервный вариант с запросом изображения. Это увеличивает вероятность получения C2-сервером результата, даже если навигация прерывает выполнение. Установка вредоносного плагина происходит через загрузку ZIP-архива с https://imgcdn1.com/fz/c.php?xa=pkg. Плагин wp-smart-thumbnails маскируется под легитимное ПО для кэширования миниатюр. Его основной файл содержит защиту, которая предотвращает выполнение кода при обычной загрузке WordPress. Плагин активируется только при прямом HTTP-запросе. Основной файл плагина содержит обфусцированный код, который после нескольких этапов декодирования и распаковки запускает файловый менеджер. Файловый менеджер не имеет аутентификации и позволяет злоумышленнику загружать и сохранять файлы по любому пути. Скрипт emer-run.php создает скрытого администратора, имя пользователя которого выбирается из списка операционных слов, с адресом электронной почты @wordpress.org и случайным паролем. Затем он создает скрытый плагин в директории wp-content/mu-plugins/, который перехватывает запросы к пользователям и скрывает созданную учетную запись. Также создается URL для скрытого входа, который позволяет войти в систему как самый старый администратор сайта. Оба скрытых плагина обфусцированы и имеют временные метки, соответствующие дате установки WordPress, чтобы затруднить их обнаружение.
Опубликовано в канале 6 октября, 12:06
Каждый материал сайта выходит в канале в тот же момент.
Источник: Patchstack