Срочная уязвимость произвольного кода в плагине Cornerstone//Опубликовано 2026-06-06//CVE-2026-49113

КОМАНДА БЕЗОПАСНОСТИ WP-FIREWALL

Cornerstone Plugin Vulnerability

Имя плагина Уголовной камень
Тип уязвимости Выполнение произвольного кода
Номер CVE CVE-2026-49113
Срочность Высокий
Дата публикации CVE 2026-06-06
Исходный URL-адрес CVE-2026-49113

Срочное уведомление о безопасности — Выполнение произвольного кода в плагине Cornerstone (< 7.8.8) и что вам нужно сделать сейчас

Дата: 2026-06-05
Автор: Команда безопасности WP-Firewall

TL;DR

Уязвимость с высоким уровнем серьезности для выполнения произвольного кода (CVE-2026-49113, CVSS 8.5) затрагивает версии плагина Cornerstone, выпущенные до 7.8.8. Аутентифицированный пользователь с низкими привилегиями (уровень подписчика) может злоупотребить уязвимостью инъекции и эскалировать до удаленного выполнения кода на уязвимых сайтах. Проблема была сообщена исследователем безопасности Нгуеном Ба Кханем в апреле 2026 года и публично опубликована в начале июня 2026 года.

Если ваш сайт на WordPress использует Cornerstone и работает на версии старше 7.8.8, немедленно обновите. Если вы не можете обновить сразу, примените виртуальное патчирование и меры смягчения из вашего WAF, ограничьте доступ и следуйте контрольному списку реагирования на инциденты ниже.

Это уведомление от команды безопасности WP‑Firewall и написано для владельцев сайтов, разработчиков и провайдеров хостинга, которым нужно четкое, практическое руководство — без технической ерунды.


Что произошло

  • Уязвимость: Выполнение произвольного кода (удаленно)
  • Затронутое программное обеспечение: Плагин Cornerstone для WordPress
  • Уязвимые версии: любое издание, выпущенное ранее 7.8.8
  • Исправлено в: 7.8.8
  • CVE: CVE-2026-49113
  • Сообщено: 23 апреля 2026 года (исследователь); публичное раскрытие 4 июня 2026 года
  • Серьезность: Высокий (CVSS 8.5)
  • Требуемая привилегия: Подписчик (аутентифицированный пользователь с низкими привилегиями)

Вкратце: уязвимость позволяет аутентифицированному пользователю с низкими привилегиями внедрять данные, которые могут быть использованы для выполнения произвольного кода от имени веб-сервера/пользователя PHP. Злоумышленники могут использовать это для установки задних дверей, создания недобросовестных учетных записей администраторов или полного контроля над сайтом и перехода к другим системам.


Почему это опасно

Вот ключевые причины, по которым этот класс уязвимостей особенно серьезен:

  • Выполнение произвольного кода означает, что злоумышленник может выполнять команды PHP или системного уровня в контексте вашего веб-сервера. Это может привести к полной компрометации сайта.
  • Необходимые привилегии злоумышленника низкие (подписчик). Любой сайт, который позволяет регистрацию пользователей или имеет подписчиков — включая членства, блоги и интернет-магазины — подвержен риску.
  • Уязвимости такого рода часто злоупотребляются в автоматизированных массовых кампаниях эксплуатации. Как только доступен PoC, обычно быстро следуют масштабные автоматизированные сканирования.
  • Обнаружение часто задерживается: злоумышленники, как правило, устанавливают скрытые задние двери, которые выживают после обновлений плагина, если очистка не была тщательной.

Как злоумышленники могут злоупотребить этим (на высоком уровне, без эксплуатации)

Вместо того чтобы показывать код эксплуатации, вот рабочий процесс атакующего, против которого вы должны защищаться:

  1. Создайте или используйте учетную запись подписчика (или скомпрометируйте одну).
  2. Отправьте подготовленный ввод на уязвимую конечную точку Cornerstone (действие AJAX, admin-ajax, маршруты плагина AJAX или поля формы), которые не очищают и не проверяют содержимое должным образом.
  3. Внедрите полезные нагрузки, которые заставляют приложение оценивать или записывать предоставленный атакующим PHP (или создавать сохраненную полезную нагрузку, которая позже вызывает выполнение кода).
  4. Используйте удаленное выполнение кода для написания PHP веб-оболочки, создания нового администратора, изменения файлов темы или поддержания постоянного доступа.
  5. Выполняйте кражу данных, злоупотребление SEO, спам, перемещение по хостинг-среде или шифрование содержимого для выкупа.

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


Кто находится в зоне риска?

  • Сайты с версиями плагина Cornerstone старше 7.8.8.
  • Сайты, позволяющие регистрацию пользователей или имеющие пользователей уровня подписчика.
  • Среды общего хостинга и многоуровневые сайты, где атакующий может перемещаться.
  • Сайты, на которых не включены WAF/виртуальное патчинг или агрессивный мониторинг.

Если вы хостите несколько установок WordPress, проверьте все из них. Атакующие обычно сканируют домены и поддомены, поэтому один уязвимый сайт в кластере часто достаточно, чтобы скомпрометировать несколько объектов.


Немедленные шаги (что делать в течение следующего часа)

  1. Обновите Cornerstone до 7.8.8 или более поздней версии — патч является окончательным исправлением. Сделайте это немедленно, если сможете.
  2. Если вы не можете обновить прямо сейчас, отключить отключите плагин Cornerstone или отключите функцию, которая открывает уязвимую конечную точку (протестируйте на тестовом сервере, если возможно).
  3. Включите виртуальное патчинг через ваш WAF — примените правило(а) для блокировки уязвимых шаблонов запросов и отключите опасные конечные точки AJAX, связанные с плагином.
  4. Принудительно сбросьте пароли для всех учетных записей пользователей выше уровня “подписчик” и для подозрительных учетных записей. Рассмотрите возможность сброса всех паролей администраторов.
  5. Укрепите регистрацию пользователей — временно отключите публичную регистрацию, если у вас есть такая возможность.
  6. Включите или увеличьте мониторинг/логирование и проверьте на наличие признаков компрометации (см. ниже).
  7. Если вы подозреваете, что ваш сайт был скомпрометирован, отключите его или переведите в режим обслуживания во время расследования и устранения проблемы.

Индикаторы компрометации (IoCs) — на что обращать внимание

Проверьте наличие этих признаков в ваших файлах, базе данных и журналах сервера:

  • Неожиданные администраторы, или пользователи с повышенными правами, которых вы не создавали.
  • Новые или измененные PHP файлы в wp-content/uploads, темах или плагинах; особенно файлы с случайными именами или содержащие вызовы eval/base64_decode/system.
  • Подозрительные запланированные задачи (записи wp_cron) или незнакомые задания cron.
  • Исходящие сетевые соединения с веб-сервера к необычным IP/доменам.
  • Аномальные всплески в использовании ЦП, памяти или исходящего трафика.
  • Ошибки сервера 500/503, связанные с POST-запросами к конечным точкам плагинов.
  • Странные записи в журналах доступа: POST к admin-ajax.php или пользовательским конечным точкам плагинов с необычными полезными нагрузками (длинные строки Base64, сериализованные данные с классами, которые вы не распознаете).
  • Артефакты веб-оболочки: файлы с длинными строками закодированных данных или вызовами eval, preg_replace с /e, assert() или create_function().

Полезные grep (выполняйте в консоли сервера; адаптируйте пути к вашей среде):

  • Найдите недавно измененные файлы PHP:
    find /var/www/html -type f -name "*.php" -mtime -30 -print
  • Ищите шаблоны base64 и eval:
    grep -R --line-number -I --exclude-dir=vendor -E "base64_decode|eval\(|assert\(|preg_replace\(|create_function\(" /var/www/html
  • Ищите в журналах доступа подозрительные POST-запросы к admin-ajax:
    zgrep "POST .*admin-ajax.php" /var/log/apache2/*access* | grep -E "base64|eval|wp-content"

Примечание: Если вы найдете положительные индикаторы, сохраните журналы и временные метки файлов. Сделайте судебный снимок перед внесением изменений, если это возможно.


Подробная стратегия устранения

Пошаговый подход к сдерживанию, искоренению и восстановлению.

1. Сдерживание

  • Обновите уязвимый плагин до 7.8.8 в качестве первого шага по сдерживанию.
  • Если обновление невозможно, отключите плагин или заблокируйте запросы к уязвимым конечным точкам.
  • Примените правила WAF для блокировки паттернов эксплуатации (виртуальная патчинг).
  • Отключите публичную регистрацию и ограничьте входы с помощью белого списка IP, где это возможно.

2. Расследование

  • Соберите журналы: веб-сервера, PHP-FPM, доступ, журналы ошибок и журналы WordPress (если есть).
  • Сравните контрольные суммы файлов с известной хорошей резервной копией или с оригинальным дистрибутивом плагина/темы.
  • Проверьте на наличие измененных файлов ядра/темы/плагина и вновь созданных файлов в wp-content/uploads, wp-content/plugins и wp-content/themes.

3. Устранение

  • Удалите любые обнаруженные веб-оболочки или задние двери (делайте это осторожно; если не уверены, восстановите из чистой резервной копии).
  • Удалите любых недобросовестных администраторов и сбросьте все пароли.
  • Поменяйте все API-ключи и учетные данные, которые могли быть раскрыты.

4. Восстановление

  • Восстановите файлы сайта и базу данных из чистой резервной копии до компрометации, затем немедленно обновите плагины/темы.
  • Переустановите Cornerstone через свежую загрузку из официального источника, затем обновите до 7.8.8 или более поздней версии.
  • Повторно примените меры по усилению безопасности: права доступа к файлам, отключите редактирование файлов в wp-config.php, роли пользователей с минимальными привилегиями.

5. После инцидента

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

Если у вас нет необходимых знаний внутри компании, обратитесь к специалисту по безопасности, который сможет провести судебный анализ и предоставить чистый план восстановления. Хосты должны рассмотреть возможность изоляции затронутых аккаунтов, пока продолжается расследование.


Как WP‑Firewall защищает вас (практические варианты смягчения)

В WP‑Firewall мы рекомендуем многослойный подход. Вот как наш управляемый брандмауэр, WAF и услуги безопасности помогают блокировать этот тип атаки, пока вы применяете долгосрочные решения:

  • Виртуальное патчирование (правила WAF): Мы можем развернуть целевые правила, которые перехватывают и блокируют вредоносные полезные нагрузки, нацеленные на уязвимые конечные точки Cornerstone, предотвращая попытки эксплуатации без необходимости немедленного обновления плагина.
  • Поведенческое обнаружение: Обнаружение и ограничение подозрительных шаблонов POST, необычных размеров запросов и неправильно сформированных полезных нагрузок (например, необычно больших Base64 объектов или сериализованных полезных нагрузок).
  • Контроль доступа на основе ролей: Ограничьте доступ к административным конечным точкам по IP или требуйте дополнительной аутентификации для доступа к обработчикам AJAX плагина.
  • Сканирование и устранение вредоносных программ: Непрерывное сканирование на наличие известных шаблонов веб-оболочек и автоматическая изоляция/удаление вредоносных файлов.
  • Оповещения и журналы в реальном времени: Отправляйте действенные оповещения (email/SMS/UI), когда возможная попытка эксплуатации заблокирована, с контекстными журналами для последующих действий.
  • Поддержка инцидентов: Руководство и управляемое восстановление, если вы обнаружите компрометацию.

Эти меры немедленно снижают риск и дают вам время для выполнения рекомендуемых обновлений и судебных шагов.


Предложенные концепции правил WAF (не вставляйте сырые полезные нагрузки для эксплуатации)

Ниже приведены высокоуровневые шаблоны и действия, которые вы должны рассмотреть для правил WAF. Реализуйте осторожно — сначала протестируйте в режиме обнаружения/обучения, чтобы избежать блокировки легитимного трафика.

  1. Блокируйте очевидные шаблоны удаленного кода:
    • Блокируйте запросы, содержащие подозрительные имена функций в данных POST: оценка(, утверждать(, base64_decode(, система(, exec(, shell_exec(, passthru(, preg_replace("/e").
    • Действие: БЛОКИРОВАТЬ и ЗАПИСАТЬ.
  2. Ограничьте административные конечные точки AJAX:
    • Ограничьте вызовы admin-ajax.php и любые специфические для плагина AJAX конечные точки от неаутентифицированных пользователей.
    • Для известных конечных точек плагинов, выполняющих привилегированные действия, требуйте внутренний токен или чтобы запросы исходили от вошедших в систему администраторов.
  3. Пороговые значения размера и проверки набора символов:
    • Блокируйте POST-тела, содержащие очень большие закодированные строки, частое использование непечатаемых символов или чрезвычайно длинные сериализованные полезные нагрузки.
    • Действие: ВЫЗОВ/ОТКЛОНЕНИЕ с CAPTCHA или 403.
  4. Подпись для инъекции сериализованного PHP объекта:
    • Обнаруживайте/классифицируйте сериализованные полезные нагрузки, которые включают неожиданные имена классов (особенно классы приложений, которые могут быть монстр-сериализованы).
    • Действие: БЛОКИРОВАТЬ + ОПОВЕСТИТЬ.
  5. Профилируйте поведение пользователей:
    • Ограничивайте повторные запросы от вновь созданных аккаунтов или IP-адресов, особенно при отправке длинных полезных нагрузок.
    • Действие: ОГРАНИЧЕНИЕ СКОРОСТИ или ВРЕМЕННЫЙ ЗАПРЕТ.
  6. Гео/IP ограничения (если применимо):
    • Для административных областей разрешайте только известные гео-регионы или известные диапазоны IP; блокируйте или вызывайте другие.
  7. Политика для загрузок:
    • Предотвращайте выполнение PHP файлов в директориях загрузки. Запрещайте любые .php, .phtml, .phar в загрузках с помощью конфигурации сервера.
    • Реализуйте строгую проверку типа файлов для загрузок.

Примечание: Это концептуальные меры контроля — WP‑Firewall может реализовать индивидуальные правила с низким уровнем ложных срабатываний для вас. Никогда не применяйте правила в режиме “блокировки”, не проверив сначала журналы в режиме обнаружения.


Плейбук обнаружения и охоты (практические запросы)

Используйте эти примеры для поиска доказательств попыток или успешной эксплуатации.

База данных WordPress: ищите подозрительные параметры или содержимое постов:

SELECT option_name, option_value
FROM wp_options
WHERE option_name LIKE '%cornerstone%' OR option_value LIKE '%eval(%' OR option_value LIKE 'se64_%';
ВЫБРАТЬ ID, user_login, user_email, user_registered, user_status;

Логи сервера: ищите подозрительные запросы:

zgrep -i "admin-ajax.php" /var/log/apache2/*access* | zgrep -Ei "base64|eval|serialize|object"

Файловая система: проверьте наличие новых PHP файлов в uploads:

find /var/www/html/wp-content/uploads -type f -name "*.php" -print

Если вы видите признаки злоупотребления сериализацией или закодированных полезных нагрузок, предположите потенциальное компрометирование и передайте в реагирование на инциденты.


Рекомендации по усилению безопасности (предотвращение будущих инцидентов)

  • Держите все плагины, темы и ядро обновленными. Включите автоматические обновления, где это безопасно.
  • Ограничьте роли пользователей и применяйте принцип наименьших привилегий.
  • Отключите редакторы плагинов и тем: добавьте define('DISALLOW_FILE_EDIT', true); в wp-config.php.
  • Обеспечьте использование надежных паролей и MFA для всех привилегированных аккаунтов.
  • Используйте управляемый WAF с виртуальным патчингом и автоматизированным сканированием.
  • Отключить выполнение PHP в загрузках:
    <FilesMatch "\.php$">
       Deny from all
    </FilesMatch>
    
  • Регулярно создавайте резервные копии и проверяйте резервные копии вне сайта.
  • Проводите регулярные проверки целостности файлов и сканирование на наличие вредоносного ПО.
  • Мониторьте логи на аномалии и централизованно храните логи для сохранения/готовности к судебной экспертизе.
  • Обучайте сотрудников и пользователей по вопросам фишинга и гигиены учетных данных.

Рекомендации для хостинг-провайдеров

  • Проактивно сканируйте сайты арендаторов на наличие уязвимых версий Cornerstone и уведомляйте клиентов.
  • Предлагайте автоматический виртуальный патчинг или правила WAF для затронутых арендаторов.
  • Предоставьте руководство и помощь клиентам для обновления до патча, предоставленного поставщиком.
  • Изолируйте сайты, подозреваемые в компрометации, и уведомите клиентов о шагах по восстановлению и судебно-медицинских вариантах.
  • Заблокируйте прямое выполнение PHP в директориях загрузки для всех аккаунтов, если это не требуется явно.

Контрольный список восстановления (если вас скомпрометировали)

  1. Выведите сайт в офлайн или в режим обслуживания для изоляции.
  2. Заморозьте изменения в журналах и сделайте судебно-медицинский снимок.
  3. Определите начальный вектор доступа; каталогизируйте все индикаторы.
  4. Удалите веб-оболочки/задние двери или восстановите из чистой резервной копии.
  5. Обновите уязвимые плагины (Cornerstone 7.8.8+).
  6. Смените все пароли и ключи API (база данных, администратор, FTP/SFTP, панель хостинга).
  7. Переустановите все плагины/темы из официальных источников.
  8. Повторно выполните полное сканирование на наличие вредоносного ПО и проверки целостности файлов.
  9. Включите услуги и внимательно следите за повторением.
  10. Сообщите о инциденте вашему хосту / партнеру по безопасности и рассмотрите возможность раскрытия информации затронутым заинтересованным сторонам.

Как мы в WP‑Firewall рекомендуем справляться с этим конкретным уведомлением Cornerstone

  • Если вы используете Cornerstone <7.8.8, приоритизируйте немедленное обновление до 7.8.8 или более поздней версии.
  • Используйте наш управляемый WAF для применения целевых виртуальных патчей, пока вы планируете обновление.
  • Если у вас открыта регистрация, временно закройте ее или добавьте дополнительные шаги проверки для новых аккаунтов.
  • Включите полное сканирование сайта на наличие вредоносного ПО и выполните проверку целостности в один клик от WP‑Firewall.
  • Активируйте автоматическую защиту от черных списков и ограничения скорости для подозрительных конечных точек и новых аккаунтов.

Наша команда управляемых операций безопасности доступна для помощи с расследованиями и экстренным устранением проблем для клиентов на платных планах. Для команд, которые хотят немедленной самообслуживающей защиты, наш бесплатный базовый план включает управляемый брандмауэр, WAF, сканер вредоносного ПО и смягчение рисков OWASP Top 10 (подробности ниже).


Новое: Немедленная защита для владельцев сайтов — Обзор бесплатного плана

Получите немедленную бесплатную защиту с WP‑Firewall

Если вы хотите мгновенную, бесплатную базовую защиту, пока готовите обновления и устранение проблем, наш базовый (бесплатный) план предоставляет основные средства защиты:

  • Управляемый брандмауэр и правила WAF для блокировки известных уязвимостей, включая векторы OWASP Top 10
  • Неограниченная пропускная способность и блокировка атак в реальном времени
  • Сканер вредоносного ПО для обнаружения распространенных веб-оболочек и подозрительных файлов
  • Автоматизированные правила смягчения для общих паттернов инъекций и RCE

Зарегистрируйтесь сейчас, чтобы включить немедленное виртуальное патчирование и непрерывную защиту: https://my.wp-firewall.com/buy/wp-firewall-free-plan/

(Если вам нужна автоматизированная очистка, белый/черный список IP или ежемесячные отчеты, ознакомьтесь с нашими стандартными и профессиональными уровнями для продвинутого устранения проблем, управляемых услуг и автоматического виртуального патчирования.)


Часто задаваемые вопросы

В — Я уже обновился до 7.8.8. Я в безопасности?
О — Обновление устраняет уязвимость; однако, если ваш сайт был скомпрометирован до обновления, у вас могут остаться задние двери или механизмы постоянства. Проведите полное сканирование на наличие вредоносного ПО, проверьте файлы и пользователей, и подтвердите резервные копии.

В — Я не могу отключить сайт — что мне делать?
О — Переведите WAF в режим блокировки и немедленно включите виртуальное патчирование. Изолируйте и заблокируйте регистрацию пользователей и любой внешний доступ к конечным точкам плагина, пока вы не сможете применить патч.

В — Может ли посетитель воспользоваться этим без входа в систему?
О — Уязвимость требует аутентифицированного доступа на уровне подписчика. Однако злоумышленники часто создают или получают учетные записи подписчиков через регистрацию или кражу учетных данных, поэтому публичные регистрации увеличивают риск.

В — Обновление сломает дизайн моего сайта или настройки?
О — Обновления плагинов иногда могут повлиять на пользовательские интеграции. Всегда сначала тестируйте обновления на тестовом сервере. Если немедленное обновление необходимо для предотвращения компрометации, примените обновление, а затем протестируйте; если что-то сломается, восстановите из чистой резервной копии и работайте с автором плагина или разработчиком.


Заключительные слова

Это уязвимость высокого приоритета. Хотя требуемые привилегии злоумышленника низки, последствия могут быть полным захватом сайта. Не откладывайте: обновите Cornerstone до 7.8.8 сейчас, включите виртуальное патчирование WAF, если не можете обновить немедленно, и проведите целенаправленное расследование на наличие признаков компрометации. Если вам нужна помощь, подумайте о привлечении опытных специалистов по инцидентам WordPress.

Мы в WP‑Firewall следим за ситуацией и имеем защитные правила, доступные всем клиентам. Если вам нужна быстрая, практическая помощь, наша команда безопасности готова помочь.

Берегите себя,
Команда безопасности WP-Firewall


wordpress security update banner

Получайте WP Security Weekly бесплатно 👋
Зарегистрируйтесь сейчас
!!

Подпишитесь, чтобы каждую неделю получать обновления безопасности WordPress на свой почтовый ящик.

Мы не спамим! Читайте наши политика конфиденциальности для получения более подробной информации.