WordPress CVE-2026-119977 — CISA KEV 03.11.2026, патч и triage
Это обновление к выпуску: WordPress 7.1.4 — RCE в окне полного обновления ядра (CVE-2026-119977)
Суть
Гонка TOCTOU при полном (full-package) обновлении ядра: на короткое время появляются веб-доступные временные пути установщика; без аутентификации возможна RCE в этом окне. Отдельного действия посетителя не нужно.
CVSS 3.1 — 8.1 High (CNA Wordfence; в анонсе wordpress.org CVE и CVSS нет). CISA KEV — да, dateAdded 2026-11-03, dueDate 2026-11-06, knownRansomwareCampaignUse Unknown, forensic triage required — Yes (BOD 26-04).
Затронуто и исправлено
По HelpHub version-7-1-4 (28.10.2026). Активно поддерживается только последняя версия; бэкпорты — «as a courtesy».
| Ветка | Исправлено с |
|---|---|
| 7.1 | 7.1.4 |
| 7.0 | 7.0.8 |
| 6.9 | 6.9.11 |
| 6.8 | 6.8.12 |
| 6.7 | 6.7.11 |
| 6.6 | 6.6.11 |
| 6.5 | 6.5.14 |
| 6.4 | 6.4.14 |
| 6.3 | 6.3.14 |
| 6.2 | 6.2.15 |
| 6.1 | 6.1.16 |
| 6.0 | 6.0.18 |
| 5.9 | 5.9.20 |
| 5.8 | 5.8.19 |
| 5.7 | 5.7.21 |
| 5.6 | 5.6.23 |
| 5.5 | 5.5.24 |
| 5.4 | 5.4.25 |
| 5.3 | 5.3.27 |
| 5.2 | 5.2.30 |
| 5.1 | 5.1.28 |
| 5.0 | 5.0.31 |
| 4.9 | 4.9.35 |
| 4.8 | 4.8.34 |
| 4.7 | 4.7.39 |
Пример: 7.1.3 — уязвима, 7.1.4 — исправлена.
- 4.6 и раньше: security-фиксов нет — только переход на поддерживаемую ветку.
- Не все 22 пункта 7.1.4 затрагивают каждую старую ветку одинаково; для этой RCE ориентир по вторичным — с 4.7. Ставьте бэкпорт своей ветки целиком.
Эксплуатация
- CISA alert 03.11.2026: одна запись в KEV — CVE-2026-119977, «based on evidence of active exploitation».
- Описание KEV (CSV): unauthenticated RCE during the upgrade window due to predictable, web-accessible staging paths.
- WordPress в анонсе 28.10 про активную эксплуатацию не писал; просит обновить сразу.
- Вторично Wordfence/THN (без URL в публикацию): массовые попытки после патча; число успешных компрометаций в тех материалах не подтверждено.
- Публичный PoC: редакция наличие/отсутствие не утверждает; ссылок на PoC нет.
Как проверить
Команды — из корня сайта (где wp-config.php), либо с --path=/path/to/wp.
wp core version
wp core verify-checksums- Админка: «Консоль → Обновления», «Здоровье сайта».
- Background security-updates ядра по умолчанию обычно включены (анонс 28.10.2026); если не отключали — всё равно сверьте фактическую версию. Отключено константами
AUTOMATIC_UPDATER_DISABLED/WP_AUTO_UPDATE_COREили панелью хостинга — обновляйте вручную по таблице. - Пользователи с
administrator; свежие записи вwp_users/wp_usermeta. - Посторонние PHP вне ожидаемых путей плагинов/темы; неожиданные правки
wp-config.php, must-use plugins. - Журналы веб-сервера вокруг окон полного обновления ядра (без публикации конкретных путей атаки в открытых каналах).
- Composer/Bedrock и пачка сайтов: версию поднимать в манифесте/образе и выкатывать; инвентаризация
wp core versionпо всем инстансам до/после.
Как исправить
Копии — вне webroot. Команды — из корня сайта (или --path).
( umask 077
wp db export ~/wp-db-$(date +%F).sql
tar -czf ~/wp-files-$(date +%F).tar.gz . )Ставьте патч своей мажорной линии из таблицы. Не указывайте 7.1.4, если сейчас не ветка 7.1 — --version поставит названный релиз и уведёт на другой major.
# подставьте патч своей ветки из таблицы (7.1.4 / 6.8.12 / …):
wp core update --version=<патч-из-таблицы>
wp core update-db
wp core version
wp core verify-checksums⚠️ Переход на новую основную версию (например с 6.x на 7.1) — отдельное решение: совместимость темы/плагинов, тестовый стенд, откат из копии. Для закрытия этой CVE достаточно бэкпорта своей ветки.
Если обновление оборвалось / белый экран: восстановить из копии вне webroot, не «добивать» ядро с форумов; затем повторить обновление.
Подводные камни: закреплённый образ Docker/том — поднять тег или пересобрать образ (или том с ядром); wp core update в эфемерном контейнере без выката образа патчем не считается, после redeploy снова wp core version. Хостинг-«автообновление» без смены version.php; кэш opcode/CDN; мультисайт — обновить сеть целиком.
Если обновить нельзя
Официальных mitigations в анонсе WordPress нет. Цель — попасть на исправляющую версию не через уязвимый веб-установщик: WP-CLI / панель хостинга / замена файлов ядра из официального пакета вне окна веб-upgrader. Временно до этого: закрыть прямой веб-доступ к временным каталогам обновления на уровне веб-сервера/WAF (правила — у хостера). Это не замена патча. Для 4.6− — переход на поддерживаемую ветку.
Признаки взлома и что делать
Индикаторы общего плана (не IOC кампании от CISA): неизвестные администраторы; PHP в uploads и вне плагинов; изменённые checksums ядра; неожиданные cron/must-use. Порядок: изолировать (если подтверждено) → сохранить доказательства → чистая установка/восстановление из проверенной копии после патча → смена всех секретов и паролей → аудит плагинов. Одного wp core update после компрометации недостаточно. CISA для федералов требует forensic triage по BOD 26-04; для коммерции — та же логика «проверить, не заходили ли до патча».
Источники
- https://wordpress.org/documentation/wordpress-version/version-7-1-4/ (бэкпорты и список исправлений; анонс news.wordpress.org в тексты не ставим — с страницы уходят на сторонние разборы)
- https://www.cisa.gov/news-events/alerts/2026/11/03/cisa-adds-one-known-exploited-vulnerability-catalog
- CVE-2026-119977 (номер; ссылки на NVD/CVE.org не ставим)
- KEV: dateAdded 2026-11-03, dueDate 2026-11-06