WordPress 7.0.2 вышел 17 июля 2026 года как срочное обновление безопасности для ядра CMS. Две связанные ошибки позволяли атаковать стандартную установку WordPress без учётной записи и на версиях 6.9–7.0 довести атаку до удалённого выполнения кода, поэтому команда проекта включила принудительные фоновые обновления.

WordPress 7.0.2 устраняет две связанные ошибки в ядре
Команда WordPress выпустила версию 7.0.2 17 июля 2026 года. Релиз полностью посвящён безопасности: в нём закрыты SQL-инъекция в механизме формирования запросов и ошибка маршрутизации пакетных запросов REST API. На WordPress 6.9 и 7.0 эти проблемы образуют цепочку, которая приводит к удалённому выполнению кода, или RCE.
SQL-инъекция возникает, когда приложение некорректно обрабатывает данные перед передачей в запрос к базе. В рассматриваемом случае уязвимость затронула параметр author__not_in класса WP_Query. Этот класс WordPress собирает запросы для поиска записей, страниц и других типов контента. Ошибка позволяла специально сформированным данным влиять на SQL-запрос.
Вторая часть цепочки связана с пакетным маршрутом REST API. REST API даёт внешним приложениям и интерфейсам доступ к функциям WordPress через HTTP-запросы. Пакетный маршрут принимает сразу несколько операций. Из-за путаницы при выборе обработчика один запрос мог попасть в неподходящий контекст и усилить последствия SQL-инъекции.
На затронутых версиях WordPress 6.9 и 7.0 сочетание двух ошибок позволяло перейти от манипуляции запросом к базе данных к выполнению команд на сервере с правами процесса веб-сервера. Такой уровень доступа может использоваться для изменения файлов сайта, чтения конфигурации, установки скрытого доступа и подмены содержимого.
Официальная публикация WordPress описывает исправления как одно критическое и одно высокое по уровню опасности. В GitHub Advisory для SQL-инъекции указана умеренная оценка отдельной ошибки, а уязвимость пакетного маршрута REST API отмечена как критическая. Разница связана с оценкой каждой ошибки отдельно и последствий их совместного использования. Для владельца сайта приоритет остаётся единым: затронутую версию ядра требуется заменить исправленной.
Стандартная установка WordPress 6.9 и 7.0 доступна для атаки без входа
Исследовательская команда Searchlight Cyber назвала цепочку wp2shell и описала её как pre-authentication RCE. Термин pre-authentication означает, что атакующему не требуется вход в административную панель, учётная запись подписчика или заранее похищенный пароль.
Исследователи отдельно уточняют условия атаки: уязвимость воспроизводится на стандартной установке WordPress без сторонних плагинов. Источник проблемы находится в ядре CMS. Поэтому отключение расширений, смена темы или ограничение регистрации пользователей не закрывает уязвимый код.
Отсутствие предварительных условий повышает риск массового сканирования интернета. Автоматизированный инструмент может находить сайты по доступному REST API и проверять версию или поведение уязвимого маршрута. Команда Searchlight Cyber на момент публикации сохранила технические детали эксплуатации закрытыми, чтобы дать администраторам время установить патч.
Удалённое выполнение кода не гарантирует атакующему системные права администратора сервера. Команды выполняются в контексте пользователя, под которым работает PHP или веб-сервер. Этого часто достаточно для доступа к файлам WordPress, ключам подключения к базе данных в wp-config.php, загруженным материалам и коду плагинов или тем.
Версии 6.8, 6.9 и 7.0 получают разные пакеты исправлений
Диапазон затронутых версий зависит от конкретной части цепочки. SQL-инъекция появилась в ветке WordPress 6.8, а возможность довести её до удалённого выполнения кода через пакетный REST API относится к WordPress 6.9 и более новым версиям.
| Установленная версия | Характер риска | Исправленная версия |
| WordPress 6.8.0–6.8.5 | SQL-инъекция в WP_Query | WordPress 6.8.6 |
| WordPress 6.9.0–6.9.4 | SQL-инъекция и цепочка с удалённым выполнением кода | WordPress 6.9.5 |
| WordPress 7.0.0–7.0.1 | SQL-инъекция и цепочка с удалённым выполнением кода | WordPress 7.0.2 |
| WordPress 7.1 Beta 1 | Обе уязвимости присутствовали в тестовой ветке | WordPress 7.1 Beta 2 |
| WordPress до 6.8 | Уязвимости из этого бюллетеня отсутствуют | Обновление по этому бюллетеню не требуется |
В публикации Searchlight Cyber версии до 6.8.5 включительно обозначены как не затронутые wp2shell. Здесь речь идёт о полной цепочке с удалённым выполнением кода. Официальный бюллетень WordPress отдельно подтверждает наличие SQL-инъекции в ветке 6.8 и выпуск исправления 6.8.6.
Владельцам сайтов на поддерживаемой ветке 7.0 нужен WordPress 7.0.2. Отдельные пакеты 6.9.5 и 6.8.6 выпущены как обратные исправления для сайтов, которые пока остаются на предыдущих ветках. Команда проекта напоминает, что активную поддержку получает актуальная версия WordPress, поэтому длительное использование старой ветки сохраняет дополнительные риски, выходящие за рамки этого бюллетеня.
Принудительное автообновление должно ускорить установку патча
Команда WordPress включила принудительную доставку исправления через систему автоматических обновлений для затронутых сайтов. На установках, которые поддерживают фоновые обновления ядра, процесс должен начаться автоматически. Такой режим используют редко и связывают с уязвимостями, требующими быстрой установки исправлений.
Фактическую версию всё равно стоит проверить в административной панели. Раздел Консоль → Обновления показывает доступное обновление и позволяет запустить его вручную. Для WordPress 7.0 результатом должна стать версия 7.0.2; для оставшихся на ветках 6.9 и 6.8 — версии 6.9.5 и 6.8.6 соответственно.
После обновления достаточно пройти короткую проверку рабочих сценариев:
- открыть главную страницу и несколько внутренних материалов;
- войти в административную панель и сохранить тестовый черновик;
- проверить формы обратной связи, оформление заказа и другие операции, которые отправляют данные;
- убедиться, что мобильное приложение, внешняя панель или интеграция, использующая REST API, продолжает работать;
- сверить версию ядра в панели хостинга, если провайдер управляет обновлениями отдельно.
Эти действия помогают подтвердить завершение обновления и заметить конфликт с серверным кешированием, защитными правилами или внешними интеграциями. Сам патч меняет ограниченный набор файлов ядра, поэтому объём проверки заметно меньше, чем после крупного функционального релиза.
Исправления сосредоточены в WP_Query и REST API
В официальном описании WordPress 7.0.2 перечислены три изменённых файла ядра:
| Файл | Область WordPress |
wp-includes/class-wp-query.php | Формирование запросов к базе данных через WP_Query |
wp-includes/rest-api/class-wp-rest-server.php | Обработка и маршрутизация запросов REST API |
wp-includes/rest-api.php | Базовые функции инфраструктуры REST API |
Список хорошо совпадает с двумя раскрытыми уязвимостями: первая относится к построению SQL-запросов, вторая — к обработке пакетных маршрутов REST API. Пакеты внешних библиотек в WordPress 7.0.2 не менялись.
Небольшой размер патча упрощает анализ для разработчиков и команд сопровождения. Обновление не приносит изменений редактора, интерфейса или публичных функций сайта. Его задача ограничена закрытием конкретной цепочки атаки.
Разработчикам собственных интеграций стоит уделить внимание REST API после установки патча. В штатном сценарии совместимость должна сохраниться, поскольку исправление корректирует внутреннюю маршрутизацию. Проверка полезна для проектов, которые отправляют несколько REST-запросов одним пакетом или используют собственные маршруты внутри /wp-json/.
Временная блокировка batch API подходит как аварийная мера
Searchlight Cyber предлагает временную защиту для ситуаций, когда обновление ядра невозможно установить сразу. На уровне WAF или веб-сервера можно ограничить анонимный доступ к двум вариантам пакетного маршрута:
/wp-json/batch/v1;?rest_route=/batch/v1.
Другой вариант — временно закрыть анонимный доступ ко всему REST API с помощью защитного плагина или серверного правила. Исследователи предупреждают, что такое ограничение способно нарушить работу редактора, мобильных приложений, форм, интернет-магазина и внешних интеграций.
Блокировка рассчитана на короткий период до обновления ядра. WordPress 7.0.2, 6.9.5 и 6.8.6 устраняют причину уязвимости и сохраняют штатную работу REST API. Серверное ограничение требует отдельного контроля и последующего удаления, поэтому полноценный патч остаётся основным способом защиты.
WordPress 7.0.2 требует приоритетной установки
К 18 июля 2026 года подтверждены диапазоны затронутых версий, выпущены исправления для трёх веток и опубликованы два идентификатора CVE: CVE-2026-60137 и CVE-2026-63030. Полная цепочка удалённого выполнения кода затрагивает WordPress 6.9.0–6.9.4 и 7.0.0–7.0.1. Ветка 6.8.0–6.8.5 получает отдельное исправление SQL-инъекции.
Сайт на WordPress 7.0 должен показывать версию 7.0.2, на ветке 6.9 — 6.9.5, на ветке 6.8 — 6.8.6. Принудительное фоновое обновление ускоряет доставку патча, а ручная проверка версии подтверждает, что конкретная установка уже защищена.