22 сентября 2026 года разработчики WordPress выпустили экстренные обновления безопасности сразу для нескольких веток CMS. В WordPress 7.1.2, 7.0.6, 6.7.9 и 6.6.9 закрыта критическая уязвимость, позволяющая при определённых условиях загружать локальные PHP-файлы за пределами активной темы. Для атаки злоумышленнику не требуется учётная запись, а на некоторых конфигурациях серверов ошибка может привести к удалённому выполнению кода.

Ошибка в выборе шаблона WordPress могла открыть доступ к посторонним PHP-файлам
При открытии страницы WordPress ищет подходящий шаблон оформления в активной теме. Исследователь Роберт Рессл обнаружил, что в определённых обстоятельствах этот механизм можно заставить обратиться к доступному для чтения PHP-файлу за пределами каталогов темы. Ошибка относится к обработке путей при выборе шаблона страницы — path traversal. Ей присвоили идентификатор CVE-2026-87902, а уровень опасности в официальном бюллетене безопасности оценён в 9,2 балла из 10 по CVSS 4.0.
Особенность уязвимости заключается в том, что посетителю не нужно входить в административную панель или получать какие-либо права на сайте. При совпадении условий ошибку можно использовать через сеть. Если сервер обрабатывает подключённый таким способом PHP-файл как исполняемый код, последствия могут доходить до удалённого выполнения команд (RCE) — сценария, при котором посторонний получает возможность запускать код на сервере сайта.
Исправление внесено в файл ядра /wp-includes/template.php. Согласно документации WordPress, каждый из четырёх рассматриваемых выпусков содержит одно исправление безопасности, связанное с этой ошибкой.
Уязвимость зависит от активной темы и конфигурации сервера
Разработчики перечислили конкретные условия, при которых возможно использование ошибки. В родительской или дочерней теме должна существовать папка верхнего уровня, имя которой начинается с page-, например page-templates. Такая структура встречается в старых стандартных темах Twenty Twelve и Twenty Fourteen, а также в сторонних Neve, Hestia и Sydney. Само наличие подобной папки ещё не означает, что сайт можно взломать.
Для атаки на сервере должен существовать подходящий локальный PHP-файл, доступный на чтение учётной записи веб-сервера. В бюллетене отдельно описан вариант с компонентом PEAR и включённой настройкой PHP register_argc_argv. В числе сред, для которых такой сценарий имеет значение, названы официальный Docker-образ PHP и типовая конфигурация cPanel при использовании версий PHP ниже 8.5. Таким образом, реальная возможность выполнения кода зависит от сочетания темы оформления, файлов на сервере и настроек PHP.
Для владельца сайта потенциальные последствия особенно серьёзны: успешное удалённое выполнение кода способно затронуть содержимое сайта, хранящиеся на сервере данные и работу самого веб-ресурса. В официальном сообщении о выпуске не приводятся сведения о подтверждённых массовых атаках через эту уязвимость.
Исправление одновременно получили WordPress 7.1, 7.0 и более старые ветки
22 сентября команда безопасности опубликовала основную версию WordPress 7.1.2 и перенесла исправление в предыдущие ветки. Для владельцев сайтов, которые по техническим причинам ещё используют старые версии CMS, выпущены отдельные пакеты с тем же исправлением.
| Ветка WordPress | Версии с уязвимостью | Исправленная версия |
| 7.1 | 7.1.0–7.1.1 | 7.1.2 |
| 7.0 | 7.0.0–7.0.5 | 7.0.6 |
| 6.7 | 6.7.0–6.7.8 | 6.7.9 |
| 6.6 | 6.6.0–6.6.8 | 6.6.9 |
Исправления вышли и для промежуточных веток: WordPress 6.9.9 и 6.8.10. В официальном перечне затронутых и исправленных версий перечислены пакеты вплоть до WordPress 4.7.37. Для версий 4.6 и старше новые исправления безопасности больше не выпускаются.
Предыдущий релиз WordPress 7.1.1 появился всего за несколько дней до этой серии патчей. Он содержал исправления ошибок ядра, блочного редактора и других уязвимостей. Обнаруженная позднее проблема с выбором шаблона потребовала отдельного экстренного выпуска.
Экстренные версии доступны в панели обновлений WordPress
В сообщении о выпуске WordPress 7.1.2 команда безопасности призвала владельцев сайтов установить исправление без промедления. Обновление доступно в административной панели в разделе «Обновления»; для установок с поддержкой автоматических фоновых обновлений процесс запускается автоматически. При этом возможность автоматического обновления и фактическое завершение установки зависят от конфигурации конкретного сайта.
Существование патчей для старых веток не меняет основную политику сопровождения проекта: WordPress активно поддерживает прежде всего актуальную версию 7.1. Исправления для предыдущих выпусков распространяются как дополнительные меры защиты, позволяющие закрыть обнаруженную проблему на сайтах, которые ещё работают с прежними версиями ядра.
Сентябрьская серия объединила десятки поколений WordPress вокруг одной ошибки обработки шаблонов. Точный риск для конкретного сайта определяется используемой темой, доступными серверу PHP-файлами и настройками окружения; сама уязвимость в названных исправленных версиях уже закрыта.