Обход каталогов при выборе шаблона страницы в WordPress 7.1.2 позволяет выполнить код

WordPress

Двадцать второго сентября 2026 года вышла WordPress 7.1.2. В релиз вошло единственное исправление безопасности: обход каталогов (path traversal) в механизме выбора шаблона страницы. Атака проходит без учётной записи на сайте. При определённых условиях она заканчивается выполнением произвольного кода на сервере, то есть полным контролем над ресурсом. Уязвимы ветки WordPress с 4.7 по 7.1 включительно.

Детали уязвимости

Обход каталогов - это приём, при котором приложению подсовывают путь, выводящий за пределы разрешённой папки. В WordPress проблема обнаружилась там, где движок решает, какой файл шаблона показать для запрошенной страницы. Параметры запроса попадают в этот механизм снаружи, а проверка пути оказалась слабой. Поэтому злоумышленник уводит запрос за границы каталога темы и добирается до файлов, которые посетителю видеть не положено.

Оговорка про условия важна. Выполнение кода наступает не всегда, а зависит от настроек веб-сервера, прав на файлы и содержимого тех файлов, до которых удалось дотянуться. Разработчики описывают последствие как условное удалённое выполнение кода. Формулировка честная: атакующему нужно подобрать подходящее окружение. Зато подбор не требует ни пароля, ни логина, ни действий со стороны владельца сайта.

Ошибку нашёл исследователь Роберт Рессл и сообщил о ней в закрытом порядке. Такая практика даёт команде время подготовить патч до раскрытия деталей. WordPress отдельно благодарит Рессла в описании релиза, и это обычная для проекта форма признания заслуг.

Ставки высоки из-за распространённости самой системы. WordPress держит крупнейшую долю среди систем управления содержимым: на нём работают личные блоги, медиа, интернет-магазины и сайты госструктур. Один общий компонент означает тысячи одинаковых целей. Как только патч становится публичным, у злоумышленников появляется точная зацепка. Они сравнивают код исправленной и прежней версии, находят изменённый участок и пишут инструмент для атаки. Промежуток между публикацией исправления и первыми сканированиями обычно измеряется часами, реже сутками.

Сообщений о реальных атаках с использованием этой уязвимости пока нет. Их отсутствие не отменяет спешки. Массовый перебор адресов сайтов на WordPress - давно налаженный промысел. Определить версию движка со стороны несложно: она видна по метаданным страницы, по характерным путям и по файлам, которые остаются открытыми.

Последствия успешной атаки выходят далеко за рамки одной страницы. Получив выполнение кода, злоумышленник распоряжается сервером как своим. Он ставит программы для добычи криптовалюты, рассылает спам, размещает перенаправления на сторонние ресурсы, забирает базу с данными пользователей. Заметить лишнее получается не сразу, ведь чужие файлы маскируются под служебные. Для интернет-магазина к этому добавляются утечка платёжных и персональных данных и последующие претензии регуляторов.

Исправления вышли сразу для всех поддерживаемых веток. Кроме 7.1.2 патчи получили 7.0.6 и 6.9.9, а также более старые линии вплоть до 4.9.33. Ветка 4.6 и всё, что старше, новых исправлений не получает: поддержку этих версий завершили. Владельцам сайтов на таких сборках остаётся переход на актуальную ветку, промежуточных патчей для них не будет.

Проверить номер версии можно в консоли администратора, раздел Dashboard > Updates. WordPress умеет ставить обновления безопасности автоматически, и на большинстве хостингов эта настройка включена. Если автообновление отключили вручную или заблокировал провайдер, обновление придётся поставить самому. Перед установкой разумно сделать резервную копию: стандартная страховка на случай конфликта с плагинами или темой.

Заодно имеет смысл просмотреть журналы веб-сервера. Запросы с переходами на уровень выше или с длинными последовательностями обхода каталогов служат поводом для проверки. Обнаружив чужие файлы в каталогах сайта, лучше не ограничиваться удалением. Надёжнее восстановить ресурс из заведомо чистого архива и сменить все пароли, включая доступы к базе данных и панели хостинга.

Хостинг-провайдеры нередко закрывают такие уязвимости централизованно. Однако на виртуальном хостинге, где на одном сервере живут десятки сайтов, соседи не защищены, если хотя бы один ресурс остался на старой сборке. Поэтому обновление каждого сайта остаётся задачей его владельца, даже когда провайдер отчитывается о применённых патчах.

Одна ошибка в общем для всех механизме даёт злоумышленнику сразу много целей, и цена промедления здесь выше, чем в случае с узким продуктом. Обновление до 7.1.2 занимает пару минут и снимает вопрос целиком. Разбор последствий взлома растягивается на недели, а часть ущерба - украденные данные и потерянная репутация - не отменяется никакими патчами.

Ссылки

Комментарии: 0