Разработчики WordPress экстренно закрыли в ядре платформы критическую уязвимость, через которую любой человек в Интернете может захватить сайт одним HTTP-запросом — без пароля, без установленных плагинов и вообще без какой-либо подготовки. Под ударом оказались до 500 миллионов сайтов — именно столько, по оценке нашедших уязвимость исследователей, работает сейчас на платформе WordPress. Патч только что вышел.
Проблему назвали wp2shell, в реестре она числится под номером CVE-2026-63030 (CVE — общий номер, под которым уязвимости регистрируют, чтобы специалисты по всему миру говорили об одной и той же проблеме). У WordPress есть встроенный REST API (канал, через который сайт принимает команды от внешних программ), и в нем есть точка для пакетной обработки сразу нескольких запросов разом. Из-за путаницы в том, как WordPress определяет источник запроса к этой точке, программа теряет способность отличить обычного посетителя от того, кто уже вошел под паролем администратора. Дальше в дело идет вторая ошибка — SQL-инъекция (прием, при котором сайту вместо обычных данных дают замаскированную команду для его базы данных). Связка двух проблем позволяет получить контроль над базой и заставить сервер выполнить произвольный код, даже не имея логина и пароля.
На практике это означает полный захват сайта. Атакующий может достать из базы хеши паролей администраторов и подобрать их перебором, создать себе учетную запись с полными правами, поставить веб-шелл (скрытую программу, которая дает удаленное управление сервером через браузер) и превратить сайт во что угодно: точку рассылки фишинга, узел ботнета или плацдарм для дальнейшего проникновения в инфраструктуру хостинга. Особенно легко атака проходит там, где сайт не использует постоянный кеш объектов (механизм ускорения запросов к базе данных) — а это типичная настройка большинства сайтов на обычном хостинге.
Масштаб здесь и есть главная причина тревоги. WordPress — бесплатная система управления сайтами с открытым исходным кодом, на которой строят блоги, интернет-магазины и корпоративные страницы. По разным подсчетам она стоит примерно на 40–43% всех сайтов в Интернете и почти на 60% сайтов, которые вообще используют какую-либо систему управления контентом. Это в разы больше, чем у ближайшего конкурента Shopify. При таком охвате критическая дыра именно в ядре — редкость: обычно уязвимости находят в плагинах, а не в базовом коде.
На момент выхода патча активных атак зафиксировано не было, и WordPress вместе с исследователями до последнего придерживал технические подробности. Но открытый исходный код работает в обе стороны: тот же архив релизов, который позволяет защитникам ставить патч, дает атакующим готовую карту дыры. Злоумышленники теперь тоже знают об уязвимости. И первые атаки на веб-представительства уже пошли.
WordPress.org включил принудительные автообновления для затронутых версий, поэтому часть сайтов уже получила патч без участия владельца. Но все равно проверьте свое веб-представительство. В панели администратора нужно зайти в «Консоль - Обновления» и убедиться, что установлена версия 7.0.2, 6.9.5 или 6.8.6, в зависимости от того, какая ветка стояла раньше, либо обновиться вручную прямо оттуда. Перед процедурой стоит сделать резервную копию файлов и базы данных через хостинг или плагин для бэкапов, а после — пройти шаг обновления базы, если WordPress его попросит. Сайты с отключенными автообновлениями и проекты, где версия фиксируется через систему управления версиями, патч сами не получат. Это нужно сделать вручную и как можно быстрее.
