Один специально созданный запрос, отправленный вошедшему в систему администратору WordPress, может незаметно установить на целевом сайте тему, выбранную злоумышленником, — без необходимости нажимать кнопку «Установить». Эта установленная тема затем может быть превращена в точку опоры на уровне сервера за считанные секунды. WordPress устранила основную уязвимость 17 сентября в версии 7.1.1, но общедоступный рабочий эксплойт появился в GitHub на следующий день, сократив эффективное окно для установки исправлений на сайтах, размещенных самостоятельно и все еще использующих уязвимые сборки.
Исследовательская фирма в области безопасности pwn.ai, обнаружившая и сообщившая об уязвимости, раскрыла полную цепочку атаки 18 сентября и назвала ее Click2Shell, чтобы описать конечную цель: один вредоносный запрос, открытый любым администратором сайта, который в конечном итоге приводит к получению удаленной оболочки на целевом сервере. Фирма оценила уязвимость ядра WordPress саму по себе как имеющую высокую степень серьезности — CVSS 7.1, но полная трехэтапная цепочка, завершающаяся выполнением кода, получила оценку «критическая» — 9.6.
Как Click2Shell переходит от URL к оболочке
Цепочка действует в три этапа, каждый из которых опирается на предыдущий.
Этап 1 — Принудительная установка темы. Страница установки тем WordPress использует шаблон Underscore.js, который обрабатывает параметр запроса для идентификации и выбора карточки темы. Специально созданный URL внедряет символы в этот параметр — скобочную нотацию или эквивалентный синтаксис селектора — которые шаблон Underscore.js интерпретирует как команду DOM-селектора, а не как имя темы. API каталога WordPress.org, запрашиваемый с полным значением, рассматривает его как идентификатор темы (slug) и возвращает ближайшую соответствующую реальную тему из своего каталога. Браузер администратора тем временем использует то же значение внутри DOM-селектора и находит кнопку «Установить». Собственный JavaScript WordPress затем нажимает ее. Результат: реальная тема из каталога устанавливается на сайте без каких-либо действий со стороны администратора, кроме открытия специально созданного запроса.
Этап 2 — Выполнение кода до активации. Установленная тема не обязательно является инертной. Инструмент Customizer WordPress, предназначенный для предварительного просмотра в реальном времени, загружает PHP-код темы — включая ее точку входа functions.php — до активации темы. Это означает, что PHP, контролируемый злоумышленником, может выполняться в рамках аутентифицированной сессии жертвы, в то время как внешний вид сайта и панель управления остаются полностью нормальными. Ничего видимого не меняется; единственным артефактом успешного Этапа 1 является неактивная тема в библиотеке.
Этап 3 — Удаленное выполнение кода через уязвимую тему. В своем доказательстве концепции pwn.ai нацелились на тему Mobile Repair Zone, версии 2.5.4 и более ранних. Эта тема регистрировала обработчик фоновых запросов, доступный без аутентификации или защитного nonce. Обработчик считывает веб-адрес из входящего запроса, загружает пакет с этого адреса и выполняет его код — без какой-либо проверки разрешений. Примененный после Этапов 1 и 2, этот обработчик загрузил и выполнил полезную нагрузку злоумышленника на сервере.
Как отметил pwn.ai, сама по себе уязвимость ядра WordPress не позволяет принять произвольный ZIP-архив темы — злоумышленник должен выбрать реальную тему из каталога, которая также имеет вторичную уязвимость. Таким образом, атака не требовала украденных учетных данных: уже активная сессия администратора предоставляла как разрешение, так и токен безопасности, необходимые для установки. Злоумышленник не предоставлял ни того, ни другого.
Почему вторичный риск выходит за рамки одной темы
Mobile Repair Zone — это тема, которую pwn.ai использовали для демонстрации Этапа 3, но ее уязвимость представляет собой хорошо документированный класс проблем безопасности WordPress, а не уникальный недостаток. Тип обработчика, который она раскрывает — фоновый AJAX-эндпойнт, который загружает и выполняет файлы без проверки того, кто его вызывает — встречался в нескольких раскрытиях безопасности тем и плагинов в экосистеме WordPress. Каталог тем WordPress.org проверяет отправленные материалы, но не гарантирует, что каждая загруженная тема свободна от незащищенных обработчиков загрузки и выполнения.
Это важно для того, как владельцы сайтов должны оценивать свою подверженность риску. Сайт, который не использует Mobile Repair Zone, не защищен автоматически от цепочки типа Click2Shell. Любая тема из каталога WordPress.org, которая раскрывает аналогичный незащищенный обработчик загрузки файлов, может служить полезной нагрузкой для Этапа 3. Обновление ядра WordPress до версии 7.1.1 закрывает Этап 1 — механизм принудительной установки — и вместе с ним всю цепочку, независимо от того, какие темы установлены. Однако владельцам сайтов также следует рассматривать незащищенные AJAX-обработчики в своей библиотеке тем как отдельный, постоянный риск, который Click2Shell сделал видимым.
Почему стандартные инструменты приоритизации исправлений могли недооценить эту проблему
CVSS — Common Vulnerability Scoring System, используемая большинством платформ управления уязвимостями — оценивает каждое обнаружение в изоляции. Уязвимость ядра WordPress в Click2Shell получила оценку 7.1 в изоляции, что относит ее к категории «Высокая» серьезность, но не к категории «Критическая» (9.0 и выше). Автоматизированные очереди приоритизации исправлений, отсортированные по CVSS, ранжировали бы эту уязвимость ниже критических, что технически верно для самого ядра ошибки.
Однако полная трехэтапная цепочка дает оценку CVSS 9.6 — уверенно «Критическая», поскольку цепочка достигает полного удаленного выполнения кода с минимальными предварительными условиями для злоумышленника. Владелец сайта, который действовал бы только на основании критических оценок CVSS и отложил бы обновление ядра WordPress высокой степени серьезности, остался бы подвержен реальной атаке критической степени серьезности. Связывание эксплойтов — это конкретный сценарий, в котором отдельные оценки CVSS систематически недооценивают риск.
Когда злоумышленнику не нужны учетные данные
Атака не требует украденных паролей, скомпрометированных учетных записей или существующего доступа к целевому сайту. Что ей требуется, так это чтобы администратор открыл специально созданный запрос, будучи вошедшим в панель управления WordPress — условие, которое регулярно выполняется, когда фишинговые письма, сообщения на форумах или вредоносные ветки комментариев доставляют запросы, выглядящие как легитимные.
Nonces — одноразовые токены WordPress, защищающие аутентифицированные действия — не нейтрализуют Click2Shell, поскольку атака не подделывает и не крадет nonce. Она использует активную сессию администратора для выполнения действия, на которое сессия имеет законное разрешение: установка темы из официального каталога. Уязвимость заключается в том, как WordPress обрабатывает селектор темы перед установкой, а не в уровне аутентификации или авторизации.
Трудный год для безопасности ядра WordPress
Click2Shell появилась в конце шестинедельного периода, в течение которого pwn.ai раскрыла еще две цепочки уязвимостей ядра WordPress. В начале августа 2026 года WordPress выпустила версию 7.0.3 для исправления CVE-2026-64638, отраженной межсайтовой уязвимости (XSS) до аутентификации на экране входа, которую фирма назвала XSS2Shell и продемонстрировала, что ее можно связать с выполнением PHP-кода одним кликом администратора. Позже в том же месяце WordPress выпустила версию 7.0.4 для исправления проблемы выполнения кода с аутентификацией, найденной той же командой и связанной с Imagick и Ghostscript, о чем ответственно сообщила pwn.ai. Click2Shell — это третья раскрытая pwn.ai цепочка RCE ядра WordPress примерно за шесть недель.
Этот период последовал за отдельной и не связанной цепочкой эксплойтов, раскрытой в июле 2026 года Searchlight Cyber под названием wp2shell (CVE-2026-63030 и CVE-2026-60137), которая не требовала входа в систему и никакого взаимодействия с пользователем и впоследствии была использована в масштабах Интернета в течение нескольких дней после раскрытия. Агентство по кибербезопасности и защите инфраструктуры США добавило wp2shell в свой каталог известных уязвимостей, подвергшихся эксплуатации 21 июля 2026 года. Click2Shell — это совершенно другой путь кода и команда исследователей, и на дату раскрытия 18 сентября не было подтвержденной эксплуатации в реальных условиях — но опыт wp2shell проиллюстрировал, как быстро общедоступный эксплойт-код превращается в активные атаки на сайты WordPress.
Более широкая картина подчеркивает конкретный риск в экосистеме WordPress: поскольку платформа обеспечивает работу примерно 42,6% всех веб-сайтов — около 595 миллионов сайтов по данным доли рынка W3Techs — каждая уязвимость в ее основном программном обеспечении имеет чрезвычайно большой пул потенциальных целей. Переход от раскрытия к активной эксплуатации неоднократно происходил в течение нескольких часов в 2026 году, делая разрыв между доступностью исправления и установкой исправления основным фактором, определяющим, будет ли сайт скомпрометирован.
Что владельцам сайтов следует делать сейчас
Для самостоятельно размещенных установок WordPress немедленные шаги конкретны:
Обновитесь до WordPress 7.1.1. Это закрывает механизм принудительной установки Этапа 1 и вместе с ним полную цепочку Click2Shell, независимо от того, какие темы использует сайт. Управляемые хостинг-провайдеры WordPress с включенными автоматическими обновлениями уже применили это исправление; вручную проверьте, что обновление завершилось, а не предполагайте, что автоматическое обновление прошло успешно. Сайты, развернутые внутри систем контроля версий или контейнерных образов, могли заблокировать автоматическое обновление и потребовать ручного развертывания.
Обновите или удалите Mobile Repair Zone ≤ 2.5.4. Даже после исправления ядра WordPress, незащищенный AJAX-обработчик темы остается уязвимостью на сайтах, где он установлен — к нему можно получить доступ через другие пути атаки. Обновите тему, если доступна исправленная версия, или удалите ее, если сайт больше в ней не нуждается.
Проверьте библиотеку тем на наличие неизвестных неактивных тем. Успешная атака Этапа 1 оставляет неактивную тему в библиотеке, не вызывая видимых оповещений. Проверьте экран «Внешний вид» > «Темы» на наличие любой темы, которой там быть не должно. Незнакомая неактивная тема на сайте под управлением WordPress 6.0–7.1.0, обновленная после 17 сентября, является потенциальным индикатором предыдущей эксплуатации.
Включите автоматические обновления ядра. Сайты, на которых отключены автоматические фоновые обновления WordPress, должны рассмотреть возможность их повторного включения для обновлений безопасности. Окно между общедоступным PoC и активной эксплуатацией оказалось короче циклов ручного обновления в 2026 году.
Не было выявлено ни одного обходного пути на уровне конфигурации — правила брандмауэра, плагина или изменения настроек — который бы нейтрализовал Click2Shell без обновления ядра WordPress. Атака проходит через аутентифицированные функции WordPress; единственный путь, который ее закрывает, — это исправление ядра.
Защищен ли мой сайт, если я не использую тему Mobile Repair Zone?
Частично, но не полностью. Обновление ядра WordPress до версии 7.1.1 закрывает механизм принудительной установки Этапа 1, который является необходимым первым шагом в Click2Shell. Без Этапа 1 цепочка не может достичь Этапа 3, независимо от того, какие темы установлены. Однако вторичная уязвимость — незащищенный AJAX-обработчик, который загружает и выполняет файлы — является документированным классом уязвимостей, встречающимся в нескольких темах каталога WordPress.org, а не уникальным дефектом в Mobile Repair Zone. Любая тема с аналогичным незащищенным обработчиком загрузки и выполнения может служить полезной нагрузкой для Этапа 3 в цепочке типа Click2Shell. Исправление ядра WordPress — это основное решение; аудит вашей библиотеки тем на наличие незащищенных AJAX-обработчиков — это последующее действие.
Почему оценка CVSS имеет меньшее значение, чем кажется?
CVSS оценивает отдельные уязвимости в изоляции. Уязвимость ядра WordPress в Click2Shell имеет оценку 7.1, что относит ее к категории «Высокая» серьезность — значимая, но ниже «Критического» порога, который большинство организаций используют для запуска экстренного исправления. Полная трехэтапная цепочка достигает оценки CVSS 9.6 («Критическая»), поскольку она обеспечивает полное удаленное выполнение кода. Организации, которые действуют только на основании критических оценок CVSS и откладывают исправление высоко оцененных уязвимостей, могут обнаружить, что цепочка эксплойтов Click2Shell приводит к реальным последствиям критической степени серьезности из-за высоко оцененной уязвимости ядра. Цепочки эксплойтов — это именно тот сценарий, когда приоритизация исправлений на основе CVSS с наибольшей вероятностью вводит в заблуждение.
Чем Click2Shell отличается от атаки wp2shell, о которой сообщалось в июле?
Это совершенно не связанные эксплойты, обнаруженные разными командами исследователей, затрагивающие разные пути кода. wp2shell не требовал входа в систему и никакого взаимодействия с пользователем — любой анонимный пользователь Интернета мог отправить один HTTP-запрос на уязвимый сайт и добиться удаленного выполнения кода. Он был использован в масштабах Интернета и добавлен в каталог CISA известных уязвимостей, подвергшихся эксплуатации. Click2Shell требует, чтобы вошедший в систему администратор открыл специально созданный запрос, что делает его зависимым от успешной социальной инженерии. По состоянию на 18 сентября 2026 года не было подтверждено никакой эксплуатации Click2Shell в реальных условиях. Обе цепочки были полностью исправлены: wp2shell — WordPress 7.0.2 (17 июля), Click2Shell — WordPress 7.1.1 (17 сентября).
Что получает злоумышленник в случае успеха Click2Shell?
Оболочку на целевом сервере — то есть возможность выполнять произвольные команды, читать и записывать любые файлы, доступные процессу веб-сервера, устанавливать бэкдоры, извлекать содержимое базы данных (включая пароли пользователей и личные данные) и потенциально переходить на другие сайты, размещенные на том же сервере. Успешная эксплуатация Click2Shell означает полный компрометацию сайта. Код злоумышленника выполняется с теми же правами, что и сам процесс WordPress.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Mark Rutherford




