Это краткий разбор уязвимости, которая активно эксплуатируется (включена в CISA KEV). Здесь описано, что происходит, кто затронут и как реагировать — с точки зрения защитника, без шагов для воспроизведения.
- CVE
- CVE-2026-87902 (GHSA-7hp8-65ch-5whp)
- Серьёзность
- NVD: CVSS v3.1 8,1 (высокая сложность атаки) / бюллетень WordPress: CVSS v4.0 9,2, Critical
- Тип
- Включение файлов (CWE-98) — обход пути при разрешении шаблона страницы
- Воздействие
- Включение файлов .php вне темы; RCE, когда совпадают условия темы и сервера
- Предусловия
- Без аутентификации, без действий пользователя
- Затронуто
- WordPress 4.7.0–7.1.1
- Исправление
- 7.1.2, выпущена 22 сентября 2026 года, с исправлениями для каждой ветки вплоть до 4.7
- Эксплуатация
- В CISA KEV (добавлена 25 сентября 2026 года, срок устранения — 28 сентября), отмечена как требующая криминалистического анализа
Насколько опасно ждать?
WordPress — самая широко используемая CMS, а уязвимость охватывает примерно десять лет выпусков, не требует аутентификации и действий пользователя. Специализирующаяся на WordPress компания по безопасности сообщает, что зондирование началось в день выхода исправления, к следующему дню перешло к попыткам выполнения кода и было включено в универсальные инструменты сканирования. Сканирование неизбирательно; размер вашего сайта не имеет значения.
Что это за уязвимость?
WordPress определяет, какой файл шаблона отображает страницу, выполняя поиск в каталогах темы. Согласно бюллетеню, в разрешении шаблона страницы была брешь: неаутентифицированный злоумышленник мог заставить его включить файл .php за пределами каталогов активной темы. Когда внешнее значение определяет, какой файл загружается, это включение файлов (CWE-98). Этот сайт не описывает, как происходит эксплуатация.
Само по себе это не выполнение кода. В бюллетене условия для RCE разделены на сторону темы и сторону сервера.
Условие на стороне темы (по бюллетеню)
- В активной родительской или дочерней теме есть каталог верхнего уровня, имя которого начинается с
page-(например,page-templates) - В бюллетене сказано, что это относится к устаревшим темам Twenty Twelve и Twenty Fourteen и к некоторым популярным сторонним темам, таким как Neve, Hestia и Sydney (уязвимость в обработке в ядре, а не в темах)
Условие на стороне сервера (по бюллетеню)
- На сервере есть файл .php, который опасно ведёт себя при включении, и он читаем учётной записью веб-сервера
- Включённая настройка
register_argc_argvв PHP значительно облегчает выполнение этого условия - В бюллетене сказано, что под угрозой официальный образ PHP для Docker и конфигурация cPanel по умолчанию с PHP старше 8.5
① Уязвимость ядра: можно включить .php вне темы
→ исправлено в 7.1.2 (и релизах каждой ветки)
② Условие темы: каталог, начинающийся с page-
→ сложно определить самостоятельно; не полагайтесь на собственную оценку
③ Условие сервера: опасный .php читаем и включён register_argc_argv
→ отключение настройки предотвращает весь класс атак
Кто затронут
| Ветка | Затронуто | Исправлено |
|---|---|---|
| 7.1 | 7.1.0–7.1.1 | 7.1.2 |
| 7.0 | 7.0.0–7.0.5 | 7.0.6 |
| 6.9 | 6.9.0–6.9.8 | 6.9.9 |
| 6.8 | 6.8.0–6.8.9 | 6.8.10 |
| от 6.7 до 4.7 | до релиза перед исправлением каждой ветки | исправление каждой ветки (6.7.9 … 4.7.37) |
| До 4.7 | — | Исправления нет (не поддерживается) |
Что делать
Проверьте версию и перейдите на исправленный релиз (первый приоритет)
В панели перейдите в Dashboard → Updates и проверьте версию. Если это не 7.1.2 (или исправленный релиз вашей ветки), обновитесь сегодня. Активно поддерживается только последняя версия, поэтому 7.1.2 — самая надёжная цель.
Найдите сайты, до которых не доходят автообновления
На сайтах, которые поддерживают фоновые обновления, обновление запускается само. Риск — сайты вне этого пути: отключённые автообновления, ядро, зафиксированное в Git или образе контейнера (при обновлении и пересборке старая версия возвращается без предупреждения), обновления, заблокированные хостингом, и старый сайт, о котором никто не помнит. Если у вас несколько сайтов, проверьте каждый (чек-лист инвентаризации безопасности).
Отключите register_argc_argv в PHP (эшелонированная защита)
PHP, обслуживающему веб-запросы, эта настройка почти никогда не нужна. Установите register_argc_argv = Off в php.ini (или в настройках PHP вашего хостинга); если вы работаете в контейнерах, проверьте конфигурацию образа. Это не заменяет обновление, но перекрывает путь от включения файлов к выполнению кода, который выходит далеко за рамки этой одной CVE.
Проверьте, не было ли проникновения до обновления
Если сайт оставался без исправления после 22 сентября, считайте этот период подозрительным; CISA также отмечает эту CVE для криминалистического анализа. Как минимум проверьте: (1) незнакомые файлы .php в /tmp, /var/tmp или в wp-content; (2) запросы в журнале доступа с закодированным в процентах обходом каталогов (аналог ../); (3) администраторов или недавно добавленные плагины, которых вы не узнаёте.
Если что-то выглядит неправильно, не ограничивайтесь «исправлено»
Если код мог быть выполнен, патч не удаляет файлы, уже размещённые на сервере, и не отменяет уже украденные ключи. Смените пароль базы данных, ключи аутентификации и соли в wp-config.php, пароли администраторов и ключи API сторонних сервисов, а также удалите подозрительные файлы. Полный порядок действий описан в playbook по устранению уязвимостей и в разделе безопасность WordPress.
Мнение этого сайта: после публикации исправления атаки начинаются сразу
В недавнем случае с Adobe Commerce между исправлением и KEV прошло 44 дня. Здесь — три. Разница в том, насколько легко дифф патча раскрывает атаку и сколько сайтов работает на этом продукте. По сообщаемой хронологии зондирование, похожее на дифф, началось в день выхода исправления.
Вывод: для широко используемого продукта исправление не даёт дополнительного времени. Атакующие начинают работать над ним в момент публикации, и людям трудно за этим угнаться вручную. Поэтому этот сайт ставит обеспечение надёжной доставки автообновлений выше самого процесса патчинга. Сайты, получившие автообновление, были защищены раньше, чем их владельцы что-либо узнали. Под угрозой те сайты, владельцы которых не понимают, что находятся вне автообновлений.
Ещё одно замечание: EPSS был 3%. EPSS полезен, но он отстаёт для недавно раскрытых уязвимостей. Если KEV и EPSS расходятся, ориентируйтесь на KEV — это подтверждённый факт.
Источники
- WordPress — GHSA-7hp8-65ch-5whp (затронутые и исправленные версии, предусловия RCE, CVSS v4.0 9,2)
- WordPress.org — Релиз WordPress 7.1.2 (22 сентября 2026; бэкпорты до 4.7, автоматические обновления)
- NVD — CVE-2026-87902 (CWE-98, CVSS v3.1 8.1)
- CISA KEV — Каталог известных эксплуатируемых уязвимостей (добавлена 25 сентября 2026, срок 28 сентября, требуется криминалистический анализ)
- FIRST — EPSS (0,029 на 25 сентября 2026)
- Отчёт наблюдений — Patchstack (зондирование с дня исправления, попытки выполнения кода на следующий день; эта статья использует только хронологию и проверки со стороны защитника)
Читайте дальше
- Практика: безопасность WordPress / playbook по устранению уязвимостей
- Принятие решения: приоритизация с CVSS, EPSS и KEV
- Противоположный случай: CVE-2026-71362 (Adobe Commerce: KEV через 44 дня после исправления)
- Термины: Что такое RCE? / Что такое обход пути?