В сети появились PoC-эксплоиты для свежей цепочки уязвимостей wp2shell, обнаруженной в ядре WordPress. Эти баги позволяют неаутентифицированному атакующему выполнить произвольный код на сайте с чистой установкой WordPress, и для атаки не нужны дополнительные плагины. ИБ-исследователи предупреждают, что уже обнаружили признаки эксплуатации wp2shell в реальных атаках.
Wp2shell состоит из двух отдельных уязвимостей:
- CVE-2026-63030 представляет собой проблему, появившуюся в коде с релизом WordPress 6.9 и связанную с пакетным эндпоинтом REST API, из-за этого бага WordPress мог перепутать обработчики вложенных запросов;
- CVE-2026-60137 представляет собой SQL-инъекцию в параметре author__not_in класса WP_Query, которая возникла еще в WordPress 6.8.
Баги затрагивают разные версии WordPress. Так, в версиях с 6.8.0 по 6.8.5 присутствует только проблема SQL-инъекции, а полная RCE-атака срабатывает лишь в WordPress с 6.9.0 по 6.9.4 и с 7.0.0 по 7.0.1. Исправления вошли в состав версий 6.9.5 и 7.0.2, а также в WordPress 7.1 beta 2.
Первым проблему wp2shell обнаружил Адам Кьюс (Adam Kues) из Searchlight Cyber и сообщил о ней через программу bug bounty WordPress на HackerOne. Кроме того, SQL-инъекцию независимо выявили исследователи TF1T, dtro и haongo.
Кьюс объясняет, что корень проблемы CVE-2026-60137 кроется в обработке author__not_in: если вместо ожидаемого массива передать строку, проверку можно обойти, после чего необработанное значение попадает в SQL-запрос. Однако сама по себе эта инъекция не дает выполнить код без аутентификации.
Для следующей фазы атаки используется CVE-2026-63030. Маршрут /wp-json/batch/v1 выполняет несколько вложенных запросов и хранит данные о них в двух параллельных массивах. Ошибка в одном из запросов приводит к рассинхронизации массивов, из-за чего следующий запрос может попасть в другой обработчик. Это позволяет обойти список разрешенных эндпоинтов и передать вредоносные данные в уязвимый WP_Query.
В WordPress оценивают эту цепочку уязвимостей как критическую, хотя сама по себе CVE-2026-63030 получила только 7,5 балла по шкале CVSS, а рейтинг CVE-2026-60137 составил 9,1 балла.
Разработчики пишут, что в силу серьезности ситуации включили принудительную установку патчей через систему автоматических обновлений. Не уточняется, получат ли исправления сайты, где автообновления отключены, поэтому администраторам рекомендуется самостоятельно проверить версию CMS и установить WordPress 6.9.5 или 7.0.2.
По данным специалистов Cloudflare, выполнение произвольного кода возможно только на сайтах без постоянного объектного кеша (в стандартной конфигурации WordPress его нет). Подчеркивается, что Redis или Memcached могут нарушить цепочку атаки, однако не исправляют SQL-инъекцию и не заменяют собой установку обновлений.
Всем, кто пока не может установить патч, специалисты рекомендуют закрыть оба варианта обращения к пакетному API (/wp-json/batch/v1 и rest_route=/batch/v1) на уровне WAF или полностью запретить анонимный доступ к REST API. В Cloudflare уже развернули защиту для всех тарифов, включая бесплатный.
Исследователи Searchlight Cyber решили пока не публиковать технические детали проблемы, чтобы дать администраторам время на установку обновлений. Вместо этого компания создала сайт wp2shell.com, с помощью которого можно проверить, уязвима ли конкретная установка WordPress.
Однако после выхода патчей другие специалисты изучили изменения в коде, и на GitHub появилось несколько работающих PoC-эксплоитов. Как отмечает издание BleepingComputer, некоторые из этих эксплоитов используют SQL-инъекцию для извлечения хешей паролей WordPress. После этого атакующему остается подобрать пароль администратора, войти в панель управления, загрузить вредоносный плагин и выполнить команды на сервере.
Другие PoC, по заявлениям их авторов, позволяют сразу перейти к удаленному выполнению кода без учетных данных администратора. Именно такой сценарий описывали в своей статье эксперты Searchlight Cyber.
Аналитики компании watchTowr сообщили журналистам, что после публикации эксплоитов уже были замечены первые попытки эксплуатации уязвимостей в реальных атаках, хотя о массовых взломах речи пока не идет.
