Статья A.S Groups

Click2Shell в WordPress: как один URL мог привести к установке темы и цепочке RCE

Click2Shell в WordPress и защита сайта после обновления 7.1.1

Навигация по статье

Услуги A.S Groups

Нужен сайт, магазин или автоматизация?

Помогаю бизнесу запускать и дорабатывать WordPress-проекты: от посадочной страницы до WooCommerce, CRM и Telegram-уведомлений.

Обсудить проект Telegram
WordPress под ключ Лендинги, корпоративные сайты и структура под заявки. WooCommerce Интернет-магазины, каталог, оплата, доставка и интеграции. Доработка сайта Правки, скорость, формы, баги и развитие текущего проекта. CRM / Telegram / AI Автоматизация заявок, уведомлений и ручных процессов.

18 сентября 2026 года исследователи pwn.ai опубликовали техническое раскрытие Click2Shell — цепочки уязвимостей, затрагивающей WordPress Core и отдельную уязвимую тему. Ключевой Core-баг позволял специально сформированному URL заставить админку установить выбранную тему из официального каталога WordPress.org. Исправление уже вошло в WordPress 7.1.1, выпущенный 17 сентября.

Сам по себе Core-баг не означал автоматическое выполнение произвольного PHP-кода. Исследователи показали RCE именно как цепочку: сначала принудительная установка официальной темы, затем использование отдельной уязвимости в теме, PHP которой мог загружаться при preview ещё до её активации.

Что именно обнаружили исследователи

По данным pwn.ai, проблема возникала из-за того, что одно значение из URL по-разному интерпретировалось WordPress.org Themes API и JavaScript-кодом в админке. В результате специально сформированное значение могло изменить выбор элемента интерфейса и привести к автоматическому вызову штатной кнопки установки темы.

Важная деталь: устанавливался не произвольный ZIP-файл атакующего, а существующая тема из официального каталога WordPress.org. Для полного захвата сайта исследователям понадобилась вторая уязвимость в установленной теме. Именно поэтому корректнее говорить о цепочке уязвимостей, а не о том, что любой URL сам по себе сразу даёт RCE.

Почему неактивная тема всё равно может быть риском

Обычно владелец сайта воспринимает неактивную тему как набор файлов, который ничего не делает. Но WordPress может загружать PHP темы в отдельных сценариях preview и Customizer. Если внутри такой темы есть небезопасный обработчик, отсутствие активации не гарантирует, что её код никогда не будет исполнен.

Это полезное напоминание для production-сайтов: старые и неиспользуемые темы лучше не хранить «на всякий случай». Чем меньше исполняемого кода находится на сервере, тем меньше поверхность атаки.

Что изменилось в WordPress 7.1.1

В опубликованном исследовании показано, что WordPress изменил обработку значения, используемого при выборе карточки темы: теперь значение экранируется перед использованием в selector, а сам selector дополнительно ограничен ожидаемым элементом темы. Это закрывает продемонстрированный путь принудительной установки через специально сформированный URL.

WordPress 7.1.1 — security and maintenance release. Мы уже отдельно разобрали что вошло в WordPress 7.1.1 и что проверить после обновления.

Кому стоит проверить сайт в первую очередь

  • сайтам на WordPress, где обновление Core ещё не установлено;
  • проектам с несколькими администраторами и редакторами;
  • сайтам, где на сервере накопились старые неиспользуемые темы;
  • магазинам WooCommerce и другим проектам, где компрометация WordPress даёт доступ к коммерческим данным и интеграциям;
  • сайтам с кастомными темами и большим количеством стороннего PHP-кода.

Что сделать владельцу WordPress-сайта

  1. Проверить версию Core. Установить актуальный security release для используемой поддерживаемой ветки WordPress.
  2. Перед обновлением сделать backup. Для коммерческого или кастомизированного сайта сначала проверить обновление на staging.
  3. Удалить неиспользуемые темы. Оставить активную тему, её реально используемую parent/child-пару и только то, что действительно нужно проекту.
  4. Обновить темы и плагины. Core patch закрывает конкретный путь Click2Shell, но сторонний уязвимый код остаётся отдельным риском.
  5. Проверить администраторов. Удалить лишние учётные записи и не выдавать Administrator сотрудникам, которым достаточно более узкой роли.
  6. Просмотреть логи. Если сайт долго работал без security update, полезно проверить неожиданные установки тем, изменения файлов и административные действия.

Нужно ли паниковать

Нет. На момент технического раскрытия исследователи описывали продемонстрированную цепочку и исправление, а не массовую подтверждённую эксплуатацию Click2Shell в интернете. Но откладывать security update тоже нет смысла: после публичного раскрытия механизм проблемы уже известен.

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

Вывод

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

Если нужно безопасно обновить WordPress, проверить совместимость темы и плагинов или провести точечный аудит после security-релиза, можно обратиться в A.S Groups.

Следующий шаг

Нужно решить похожую задачу?

Предложить проверку версии WordPress, безопасное обновление через backup/staging и аудит тем, плагинов и прав администраторов.

Обсудить задачу

Источники

Обсуждение

Вопросы и комментарии

Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.

Оставить комментарий

Email не публикуется. Ссылки и HTML в тексте удаляются.

Мы используем приватную аналитику SlimStat, чтобы понимать, какие страницы полезны посетителям, и улучшать сайт. IP-адреса анонимизируются и хэшируются. Вы можете согласиться или отказаться от аналитики.
Cookies и конфиденциальность

Используем необходимые cookies, аналитику и данные форм, чтобы сайт работал корректно и заявки доходили.