WordPress исправил критическую уязвимость с риском выполнения кода

WordPress выпустил исправление критической уязвимости CVE-2026-87902 с оценкой CVSS 9,2. Проблема затрагивает версии CMS от 4.7.0 до 7.1.1, не требует учётной записи или действий авторизованного пользователя и при определённой конфигурации сервера может привести к выполнению кода. Основной релиз с исправлением — WordPress 7.1.2.
Одновременно обновления получили все ещё поддерживаемые ветки проекта: 7.0.6, 6.9.9, 6.8.10, 6.7.9 и 6.6.9. WordPress также перенёс исправление в более старые поддерживаемые версии вплоть до 4.7.37. Владельцам сайтов рекомендовано установить подходящий релиз без промедления.
Как проявляется уязвимость
Ошибка находится в механизме выбора шаблона страницы. Одно из имён файлов WordPress формирует с использованием части веб-адреса, но в затронутых версиях это значение не проходило встроенную проверку на последовательности перехода по каталогам ../, хотя соседний код такую проверку выполнял.
В результате атакующий без авторизации может заставить сайт загрузить локальный PHP-файл за пределами папок темы. Само по себе подключение файла запускает лишь то, что уже выполняет этот PHP-файл. Для запуска кода, выбранного атакующим, необходимы дополнительные условия на сервере.
Когда риск становится выше
Имя шаблона строится в формате page-{значение}.php. Поэтому для работоспособной атаки в активной теме должна быть папка верхнего уровня, имя которой начинается с page-, а целевой файл должен иметь расширение PHP. Такая структура встречается, в частности, в некоторых старых стандартных темах WordPress.
Patchstack рекомендует администраторам оценить два признака: наличие в активной теме папки верхнего уровня с префиксом page- и состояние PHP-настройки register_argc_argv. Известный сценарий выполнения кода зависит от включённой настройки. По умолчанию она отключена в PHP 8.5 и включена в более ранних версиях PHP. Эти проверки не заменяют установку патча.
Контекст угрозы помогают оценить массовые атаки на WordPress и Joomla, где описаны массовые атаки на WordPress и Joomla, и требования текущей ошибки к конфигурации сайта. WordPress не предлагает отдельного временного обходного решения: обновление остаётся единственным способом устранить уязвимость.
Что проверить владельцам сайтов
Сайты с включёнными автоматическими фоновыми обновлениями начнут получать патч автоматически. Остальным нужно открыть раздел обновлений в административной панели или установить нужный релиз с WordPress.org. Важно проверить версию даже на сайтах, обновлённых до 7.1.1 после релиза безопасности 17 сентября: эта версия всё ещё уязвима, а CVE-2026-87902 не связана с ошибками, закрытыми тем обновлением.
На 22 сентября не было сообщений об использовании уязвимости в атаках, публичного proof-of-concept и записи о ней в каталоге CISA Known Exploited Vulnerabilities. WordPress поблагодарил за обнаружение и сообщение об ошибке Роберта Рессла. Для бизнеса практический шаг один: инвентаризировать все установки WordPress, установить соответствующий патч и убедиться, что обновление применилось.
CVE-2026-87902: какие риски и как устранить уязвимость
Уязвимость затрагивает WordPress 4.7.0–7.1.1. Она позволяет неавторизованному атакующему инициировать загрузку локального PHP-файла, однако выполнение выбранного им кода возможно только при дополнительных условиях на сервере.
Какие риски нужно учитывать
Риск зависит не только от версии WordPress, но и от структуры активной темы и конфигурации PHP. Проверка этих условий помогает оценить срочность, но не заменяет обновление CMS.
- Повышенный риск возникает при наличии в активной теме папки верхнего уровня с префиксом page-.
- Целевой локальный файл должен иметь расширение PHP.
- Известный сценарий выполнения кода зависит от включённой настройки register_argc_argv.
- Для эксплуатации не требуются учётная запись или действия авторизованного пользователя.
Как решить проблему и проверить результат
Отдельного временного обходного решения нет. Уязвимость устраняется установкой исправленного выпуска WordPress для используемой ветки.
- Инвентаризируйте все действующие установки WordPress.
- Установите WordPress 7.1.2 либо исправленный релиз своей поддерживаемой ветки.
- Проверьте фактическую версию после завершения обновления.
- Не считайте WordPress 7.1.1 безопасной версией: она остаётся уязвимой.
- При автоматических фоновых обновлениях убедитесь, что патч действительно применён.
Частые вопросы
Как решить проблему CVE-2026-87902?
Обновить каждую установку WordPress до исправленного выпуска соответствующей ветки и затем проверить установленную версию.
Какие риски создаёт эта уязвимость?
Она может привести к подключению локального PHP-файла без авторизации, а при определённой структуре темы и конфигурации PHP — к выполнению кода.
Как устранить уязвимость, если автоматическое обновление отключено?
Откройте раздел обновлений в панели WordPress или установите подходящий исправленный релиз с WordPress.org. Проверки темы и PHP не заменяют патч.

