Если у вас WordPress 6.9.0–6.9.4 или 7.0.0–7.0.1, сначала проверьте версию и обновитесь. Потом уже читайте дальше.

17 июля 2026 WordPress выпустил экстренные патчи: 6.9.5, 7.0.2 и бэкпорт 6.8.6. Причина — цепочка из двух дыр в ядре, которую назвали wp2shell. На обычной установке без плагинов она даёт удалённое выполнение кода без авторизации.

Patchstack, Hexastrike и WatchTowr уже фиксируют реальные атаки. WordPress.org включил принудительные автообновления для уязвимых версий.

Что это за баг

Это не дыра в плагине. Это ядро.

Две уязвимости работают вместе:

  • CVE-2026-63030 — путаница маршрутов в REST API batch-эндпоинте /wp-json/batch/v1 (или /?rest_route=/batch/v1). Из-за неё запрос может попасть не туда, куда его проверяли.
  • CVE-2026-60137 — SQL-инъекция в параметре author__not_in у WP_Query. Сама по себе она требует авторизации или помощи плагина. Вместе с первой дырой ограничение обходится.

В итоге анонимный запрос через batch-эндпоинт может привести к созданию администратора и дальнейшему выполнению кода. Плагины и темы для этого не нужны.

Кого касается

Полная цепочка (неавторизованный RCE) работает на:

  • WordPress 6.9.0 – 6.9.4
  • WordPress 7.0.0 – 7.0.1

SQL-инъекция (CVE-2026-60137) затрагивает ещё и ветку 6.8.x до 6.8.6. На версиях старше 6.8 этой конкретной цепочки нет.

Исправлено в:

  • 6.8.6
  • 6.9.5
  • 7.0.2

Что делать прямо сейчас

Сначала узнайте точную версию.

wp core version

Или посмотрите в админке: Консоль → Обновления.

Если версия из списка уязвимых — обновляйтесь сразу:

  • 6.9.x → 6.9.5
  • 7.0.x → 7.0.2
  • 6.8.x → 6.8.6

Через WP-CLI:

wp core update
wp core update-db

После обновления ещё раз проверьте версию.

Принудительные автообновления

WordPress.org включил forced updates для затронутых версий. На многих сайтах обновление уже прошло само, даже если автообновления ядра были отключены.

Я бы всё равно не полагался только на автоматику. Особенно на сайтах с кастомными ограничениями, staging-окружениями или отключённым wp-cron. Лучше проверить руками и убедиться, что версия действительно стала 6.9.5 / 7.0.2 / 6.8.6.

Что смотреть в логах

Ищите обращения к batch-эндпоинту:

grep -E "batch/v1|rest_route=/batch" /var/log/nginx/access.log
# или
grep -E "batch/v1|rest_route=/batch" /var/log/apache2/access.log

Обратите внимание на ответы 207 Multi-Status — они часто встречаются при успешной работе batch-запросов. Также смотрите на появление новых администраторов, неизвестных плагинов и подозрительных файлов в wp-content.

Если сайт долго стоял на уязвимой версии после 17 июля, имеет смысл дополнительно проверить:

  • список пользователей с ролью administrator;
  • активные плагины и темы на предмет неизвестных;
  • изменённые файлы ядра (через wp core verify-checksums).
wp core verify-checksums
wp user list --role=administrator

Короткий вывод

Дыра в ядре, работает без плагинов, атаки уже идут. Патчи вышли 17 июля. Принудительные обновления помогают, но не заменяют ручную проверку.

Проверьте версию, обновитесь, посмотрите логи на /wp-json/batch/v1. На этом этапе большинство сайтов закрывается.

Источники и ссылки


Комментарии загружаются…

blank
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.