Новости
WordPress 7.1.2: критическая LFI CVE-2026-87902
Сентябрьская уязвимость в get_page_template(): тот же продукт, другая цепочка атаки до выполнения кода.
28 октября 2026 года вышел WordPress 7.1.4 — экстренный патч для CVE-2026-119977 (CVSS 8.1). Во время обновления ядра файлы новой версии на несколько секунд распаковывались в предсказуемую папку wp-content/upgrade/, где оставался доступен установщик без защиты существующим wp-config.php. По данным Wordfence, уже за первые 21 час было зафиксировано более 18 500 попыток атак на эту уязвимость.

Коротко: CVE-2026-119977 (CVSS 8.1) — уязвимость в механизме самообновления ядра WordPress. При установке полного пакета файлы распаковываются в папку с предсказуемым именем внутри wp-content/upgrade/, включая файл-установщик wp-config-sample.php вместо боевого wp-config.php — из-за этого мастер установки не видит, что сайт уже настроен, и на несколько секунд остаётся доступен из сети без авторизации. Патч — версия 7.1.4 и бэкпорты для всех веток вплоть до 4.7, вышли 28 октября 2026 года. Эксплуатация началась уже в первые минуты после публикации патча.
28 октября 2026 года команда WordPress выпустила версию 7.1.4 — внеплановое обновление безопасности. CVE-2026-119977 получила оценку CVSS 8.1 по шкале Wordfence (CNA, Certified Numbering Authority для WordPress-экосистемы) — это высокий уровень серьёзности для уязвимости, не требующей авторизации.
Патч бэкпортирован во все поддерживаемые ветки — вплоть до версии 4.7.0, выпущенной ещё в 2016 году. Вместе с 7.1.4 вышли исправленные сборки для остальных веток, включая 7.0.8 и 6.9.11.
Уязвимость обнаружил исследователь Умут Байрам (Umut Bayram) из Picus Security и сообщил о ней ответственно — то есть до публикации деталей команда WordPress уже успела подготовить патч. Тем не менее это не помешало массовой эксплуатации: по данным Wordfence, первое срабатывание защитного правила против атак на CVE-2026-119977 произошло всего через девять минут после публикации патча 28 октября, а за первые 21 час было зафиксировано более 18 500 запросов, нацеленных на путь установщика setup-config.php во временной папке обновления.
Проблема — в том, как ядро WordPress обрабатывает полный пакет обновления. Уязвимость соединяет три слабых места в одной цепочке:
wp-content/upgrade/wordpress-7.1.4. Атакующему не нужно ничего угадывать: путь можно вычислить заранее.wp-config-sample.php, а не боевой wp-config.php — поэтому мастер установки WordPress не видит привычной защиты «конфиг уже существует, установка не требуется» и охотно принимает запросы на настройку сайта заново.wp-content и wp-includes/version.php — то есть поддельный wp-config.php, записанный атакующим через установщик, мог закрепиться на сайте.Атакующему достаточно опрашивать предсказуемый путь во время обновления сайта, поймать окно в несколько секунд, пока установщик доступен, и отправить туда вредоносные параметры подключения к базе данных — это может привести к выполнению кода или подмене конфигурации сайта.
Любопытная деталь этой истории — расхождение в оценке. Собственный консультативный бюллетень проекта WordPress изначально оценил уязвимость как низкую по серьёзности — из-за того, что окно эксплуатации длится всего несколько секунд и совпадение всех условий маловероятно в теории. Wordfence как независимый CNA присвоил CVE-2026-119977 оценку 8.1 High — отражая не вероятность попадания в узкое окно, а тяжесть последствий, если атакующему всё же повезёт. Обе стороны сходятся в одном: путь к выполнению кода без авторизации реален, расходятся только в том, как взвешивать временные ограничения против потенциального ущерба.
Похожий спор о «теоретическом» и «практическом» риске уже звучал вокруг уязвимости CVE-2026-87902 в функции get_page_template() — там тоже требовалось совпадение нескольких условий, но это не помешало началу атак в день выхода патча.
Формально в зоне риска — все версии WordPress с 4.7.0 по 7.1.3 включительно, то есть практически любая инсталляция, которую ещё не обновили. Практическая эксплуатация возможна только в момент выполнения самого обновления ядра — то есть риск максимален для сайтов с включёнными автоматическими обновлениями в момент их установки, а также для администраторов, которые вручную запускают обновление через панель или WP-CLI и не следят за процессом.
По данным аналитиков, атакующие используют автоматизированные сканеры, которые массово опрашивают типовые пути wp-content/upgrade/ на тысячах сайтов одновременно — расчёт на то, что хотя бы часть из них в этот момент как раз обновляется. Это тот же принцип, что и в атаках на временные файлы при распаковке архивов в целом: не угадать конкретную жертву, а дождаться момента, когда защита временно снята.
Единственное надёжное решение — обновить WordPress до версии 7.1.4 или до соответствующего бэкпорта своей ветки.
wp core updateЕсли на сайте включены фоновые обновления безопасности (по умолчанию включены в большинстве установок WordPress), патч, скорее всего, уже применился без вашего участия — версию стоит перепроверить в «Консоль → Обновления».
Дополнительная мера для администраторов серверов, если обновление ещё не применено: временно заблокировать веб-доступ к каталогу wp-content/upgrade/ на уровне веб-сервера (для nginx — правило return 403 на этот путь, для Apache — RedirectMatch 403). Это не устраняет саму уязвимость, но разрывает цепочку атаки до момента обновления. Стоит также проверить журналы сервера на обращения к файлам вида setup-config.php внутри wp-content/upgrade/ — это типичный след попыток эксплуатации CVE-2026-119977.