Специалисты по информационной безопасности зафиксировали массовую эксплуатацию критической уязвимости в плагине Breeze Cache для системы управления контентом WordPress. Этот инструмент для кэширования, по оценкам разработчиков, установлен примерно на четырёхстах тысячах сайтов. Проблема получила идентификатор CVE-2026-3844 и рейтинг 9,8 по шкале CVSS, что относит её к категории критических. Атакующие начали использовать брешь в тот же день, когда информация о ней была опубликована в открытом доступе.
Описание
Уязвимость кроется в функции fetch_gravatar_from_remote, которая отвечает за загрузку аватарок Gravatar на локальный сервер сайта. Разработчики не предусмотрели проверку типа загружаемого файла. Это позволяет любому посетителю сайта, даже без регистрации, отправить на сервер произвольный файл, в том числе исполняемый PHP-скрипт. Для успешной атаки необходимо, чтобы в настройках плагина была включена опция "Хранить файлы Gravatar локально" (Host Files Locally - Gravatars). По умолчанию эта опция выключена, однако администраторы могли активировать её вручную.
Механизм эксплуатации оказался довольно изощрённым. Функция замены аватарок считывает изображение из HTML-кода комментариев. Она извлекает URL из атрибута src, но из-за ошибки в регулярном выражении также обрабатывает атрибут alt. Этот атрибут в WordPress заполняется именем автора. Злоумышленник оставляет комментарий, указывая в поле имени ссылку на вредоносный PHP-файл, расположенный на своём сервере. После того как комментарий отображается на странице, плагин загружает файл по этой ссылке и сохраняет его в общедоступную директорию /wp-content/cache/breeze-extra/gravatars/. Поскольку расширение не проверяется, туда может попасть и скрипт с расширением .php. Затем атакующий обращается к этому файлу напрямую и получает возможность выполнить произвольный код на сервере.
По данным Wordfence, специалисты которой обнаружили и описали эту уязвимость, атаки начались 22 апреля 2026 года - в день публичного раскрытия информации. Массовое сканирование и загрузка веб-шеллов пришлись на период с 24 по 29 апреля. Система защиты Wordfence заблокировала уже более тридцати тысяч попыток эксплуатации. В десятку наиболее активных IP-адресов, с которых велись атаки, вошли:
- 15.235.188.154 (более 2300 запросов)
- 188.166.212.28 (более 2200)
- 124.248.183.139 (более 2100)
- 54.151.154.70 (более 1300)
- 128.241.254.194 (более 1200)
- 166.88.96.13 (более 1100)
- 43.134.189.190 (более 900)
- 209.141.32.143 (более 800)
- 178.63.40.249 (более 600)
- 192.99.151.197 (более 500)
Анализ заблокированных запросов показал, что злоумышленники загружают на взламываемые сайты различные вредоносные скрипты. Один из них представляет собой компактный файловый загрузчик, который позволяет размещать на сервере любые другие файлы без ограничений. Другой скрипт пытается создать новую учётную запись администратора с именем support. Если такой пользователь уже существует, скрипт перебирает имена support1, support2 и так далее вплоть до support100. Созданным учётным записям присваивается электронная почта вида a1b2c3d4e5@wordpress.org, а также права администратора. Этот же скрипт может самостоятельно найти все установки WordPress на сервере, если сайт работает в среде общего хостинга. Кроме того, он генерирует файлы-"дропперы" с именами по шаблону wp-<имя_функции_PHP>-<6_букв>.php, например wp-strlen-qazxsw.php. После выполнения дроппер удаляет самого себя, что затрудняет обнаружение исходной точки атаки.
Разработчик плагина выпустил исправленную версию 2.4.5 ещё 21 апреля. Владельцам сайтов настоятельно рекомендуется как можно скорее обновиться. Даже если сайт защищён правилами брандмауэра, патч необходимо установить для восстановления нормальной работы плагина. Администраторам также стоит проверить директорию /wp-content/cache/breeze-extra/gravatars/ на наличие подозрительных PHP-файлов, а также просмотреть список учётных записей WordPress на предмет незнакомых администраторов с почтой на домене wordpress.org. В логах доступа следует обратить внимание на запросы с указанных выше IP-адресов.
Ситуация с Breeze Cache в очередной раз напоминает, что даже популярные плагины с многолетней историей могут содержать критические уязвимости. Отсутствие фильтрации типов файлов в функции загрузки - классическая ошибка, которая приводит к полной компрометации сайта. К счастью, при своевременном обновлении и использовании средств защиты последствия можно свести к минимуму. Однако медлить не стоит: злоумышленники уже активно сканируют сеть в поисках уязвимых установок, и количество атак будет только расти.
Индикаторы компрометации
IPv4
- 124.248.183.139
- 128.241.254.194
- 15.235.188.154
- 166.88.96.13
- 178.63.40.249
- 188.166.212.28
- 192.99.151.197
- 209.141.32.143
- 43.134.189.190
- 54.151.154.70