WordPress 7.1.4: RCE без аутентификации и 21 другая уязвимость
WordPress 7.1.4 устраняет 22 уязвимости
28 октября 2026 года WordPress выпустил версию 7.1.4. Обновление содержит исправления для 22 уязвимостей, описанных в 17 бюллетенях безопасности. Предыдущий релиз, 7.1.3, выпущенный тремя неделями ранее, содержал семь исправлений. Большинство уязвимостей требовали наличия учетной записи уровня «Автор» или выше. Исключением стала критическая уязвимость, связанная с процессом обновления, которая позволяла выполнить произвольный код без аутентификации. Патчи были выпущены одновременно для всех поддерживаемых веток, начиная с версии 4.7.39.
Удаленное выполнение кода без аутентификации при обновлении
Уязвимость в процессе обновления WordPress позволяла злоумышленнику выполнить произвольный код (RCE) без необходимости аутентификации. Проблема заключалась в том, что во время установки или обновления WordPress извлекает пакеты в директорию wp-content/upgrade/. Эта директория становилась доступной для веб-сервера. До версии 7.1.4 имя директории было предсказуемым, а процесс очистки удалял файл index.php, который предотвращал листинг содержимого. В течение нескольких секунд, пока длился процесс обновления, полная копия WordPress была доступна по угадываемому пути. Извлеченная копия содержала файл wp-admin/setup-config.php, который запускал установщик без конфигурации сайта. Атакующий мог запустить установщик, используя базу данных жертвы, находясь в корневой директории чужого сайта. Версия 7.1.4 добавляет 16 случайных символов к имени директории, воссоздает index.php и прекращает его удаление. Также изменена логика в update-core.php, чтобы файл wp-config.php не копировался из рабочей директории. Окно для эксплуатации уязвимости очень короткое, требующее точного совпадения времени запроса с моментом обновления. Уязвимость получила оценку AC:H (Access Complexity: High) и не считается практически эксплуатируемой. Она не требует учетной записи и взаимодействия, а ее источник восходит к версии WordPress 2.8. Уязвимость проявляется при каждом обновлении, включая автоматические. Блокировка на уровне веб-сервера путем запрета доступа к wp-content/upgrade/ и проверки отсутствия листинга директории может предотвратить атаку. Уязвимость затрагивает все версии WordPress, начиная с 4.7.39.
Уязвимости в Interactivity API и других компонентах
Семь из семнадцати бюллетеней безопасности касаются уязвимостей в Interactivity API. Общая причина — некорректная обработка атрибутов data-* компонентом KSES, который отвечает за фильтрацию HTML для пользователей без прав unfiltered_html. Это позволяло злоумышленникам внедрять директивы Interactivity API в контент. Последующие уязвимости включали внедрение javascript: URLs, обход фильтрации для обработчиков событий, использование зарезервированных ключей, таких как __proto__, и выполнение кода через элементы object. Одна из проблем приводила к отказу в обслуживании (DoS) из-за повторной обработки CSS. Версия 7.1.4 исправляет эти проблемы, ограничивая директивы, изменяющие проверенные значения, и запрещая небезопасные цели для привязок. Уязвимости в Interactivity API затрагивают WordPress версии 6.4 и 6.5. Также исправлена уязвимость в механизме затенения данных модуля скриптов, где элемент с определенным ID мог переопределить данные реального блока скриптов. Обновление проверяет, является ли элемент действительно скриптовым. В Customizer исправлена уязвимость, связанная с частичным обновлением, которая могла привести к раскрытию несохраненных изменений. Теперь требуется наличие права customize. Кроме того, уязвимость позволяла анонимному пользователю получить доступ к UUID и предпросмотру несохраненных изменений. Исправлена проблема с раскрытием незавершенных изменений Customizer без аутентификации. Уязвимость в блоках Categories, Image, Playlist, Comments Pagination и Post Navigation Link позволяла внедрять HTML или выполнять код из-за некорректной обработки контента после фильтрации. Исправлена уязвимость, связанная с пробелами в разделителях блоков, которая возникала из-за расхождений в парсинге между PHP и JavaScript. Версия 7.1.4 унифицирует обработку пробелов. Исправлена проблема с правами доступа к заметкам (notes) в REST API, которая позволяла изменять и удалять заметки без достаточных прав на пост. Теперь требуется право на редактирование поста, к которому относится заметка.
Обновиться до 7.1.4 или установить патч безопасности
Пользователям WordPress рекомендуется обновиться до версии 7.1.4. Для версий ниже 4.7.39 патчи недоступны. Сайты с автоматическим обновлением получат версию 7.1.4 автоматически. Для версий 7.0.8, 6.9.11, 6.8.12, 6.7.11, 6.6.11, 6.5.14 и ниже доступны соответствующие обновления. Необходимо проверить, что директория wp-content/upgrade/ не доступна для просмотра через веб-сервер. Также рекомендуется проверить список пользователей с правами «Автор» (Contributor) и выше, так как большинство уязвимостей начинаются с этих уровней доступа. Версия 7.1.4 вышла 28 октября 2026 года. Уязвимости были добавлены в базу данных Patchstack в тот же день.
Источник