Полноте, люди, сквернить несказанными яствами тело (Овидий).

Уязвимость Ninja Forms активно используют для взлома WordPress-сайтов


Уязвимость Ninja Forms активно используют для взлома WordPress-сайтов

Популярный плагин Ninja Forms для WordPress снова оказался в центре внимания специалистов по информационной безопасности. В течение 2026 года для этого продукта были обнаружены несколько серьёзных уязвимостей, а некоторые из них уже используются злоумышленниками в реальных атаках. Проблемы затрагивают как основной плагин, так и отдельное дополнение Ninja Forms File Uploads.

Наиболее опасной стала уязвимость CVE-2026-0740 в расширении File Uploads. Она позволяет неавторизованному посетителю загрузить на сервер произвольный файл, в том числе PHP-скрипт. В результате злоумышленник может получить удалённое выполнение кода и фактически полностью захватить сайт.

Кроме того, осенью 2026 года исследователи зафиксировали эксплуатацию другой уязвимости Ninja Forms — CVE-2026-94504. Это уже хранимая XSS-уязвимость, позволяющая внедрить JavaScript в отправленные через форму данные и выполнить его в контексте панели администратора WordPress.

Таким образом, владельцам сайтов, использующим Ninja Forms, недостаточно просто убедиться, что плагин когда-то обновлялся. Необходимо проверить конкретную установленную версию, дополнения, журналы доступа и наличие подозрительных файлов.

 

Почему Ninja Forms представляет интерес для злоумышленников

Ninja Forms — популярный конструктор форм для WordPress. С его помощью владельцы сайтов создают контактные формы, формы обратной связи, регистрации, опросы, заявки и другие интерфейсы для получения данных от посетителей.

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

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

 

CVE-2026-0740: критическая уязвимость загрузки файлов

Самая серьёзная проблема связана с дополнением Ninja Forms File Uploads. Уязвимость получила идентификатор CVE-2026-0740 и оценку CVSS 9.8 из 10, то есть относится к категории критических.

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

Из-за этого злоумышленник мог сформировать запрос таким образом, чтобы сервер сохранил загруженный файл с опасным расширением, например PHP.

Дополнительной проблемой стала недостаточная очистка имени файла. Она позволяла использовать элементы пути и влиять на место, куда будет перемещён загруженный файл.

В результате атака могла выглядеть следующим образом:

  • злоумышленник обращается к уязвимому AJAX-обработчику Ninja Forms;
  • отправляет специально сформированный файл;
  • плагин принимает файл без требуемой проверки расширения;
  • файл сохраняется в доступном с веб-сервера месте;
  • злоумышленник обращается к нему через браузер;
  • если сервер интерпретирует файл как PHP, происходит выполнение вредоносного кода.

 

Последний этап превращает обычную ошибку загрузки файлов в потенциальную уязвимость удалённого выполнения кода (RCE). Wordfence подтвердил, что злоумышленники начали активно использовать CVE-2026-0740 практически сразу после публичного раскрытия информации.

 

Какие версии Ninja Forms File Uploads уязвимы

CVE-2026-0740 затрагивает версии Ninja Forms File Uploads вплоть до 3.3.26 включительно. Версия 3.3.25 содержала частичное исправление, однако оно не устраняло проблему полностью.

Полноценное исправление появилось в версии 3.3.27, выпущенной 19 марта 2026 года.

Поэтому установка версии 3.3.25 сама по себе не гарантирует безопасность. Для этой конкретной уязвимости необходимо использовать как минимум 3.3.27.

Wordfence сообщил, что после публичного раскрытия уязвимости его защитный механизм заблокировал более 118 600 попыток эксплуатации. Это наглядно показывает, что проблема не является исключительно теоретической.

 

Как злоумышленники получают полный контроль над сайтом

Загрузка PHP-файла сама по себе ещё не всегда означает мгновенный захват WordPress. Результат зависит от конфигурации сервера, расположения загруженного файла и возможности веб-сервера выполнять PHP в соответствующем каталоге.

Но если вредоносный файл оказывается исполняемым, злоумышленник получает очень серьёзные возможности.

Например, установленный web shell может использоваться для:

  • выполнения команд на сервере;
  • создания новых вредоносных PHP-файлов;
  • изменения файлов WordPress;
  • создания или изменения пользователей с административными правами;
  • кражи конфигурации сайта;
  • получения паролей и ключей API;
  • установки дополнительных вредоносных программ;
  • перенаправления посетителей на мошеннические сайты.

 

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

 

Атаки продолжились осенью: CVE-2026-94504

В сентябре 2026 года для Ninja Forms была опубликована ещё одна серьёзная проблема — CVE-2026-94504. На этот раз речь идёт о stored XSS, то есть хранимом межсайтовом выполнении сценариев.

Уязвимость затрагивала Ninja Forms до версии 3.15.3. Определённое значение, отправленное анонимным пользователем через поле формы, могло сохраниться без достаточной защиты, а затем отображаться в старом редакторе отправленных заявок WordPress без безопасного HTML-кодирования.

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

Patchstack оценивает эту уязвимость в 7.1 балла CVSS, а исправление было выпущено в версии 3.15.4.

 

Как XSS превращается в захват администратора

На первый взгляд XSS может показаться менее опасным, чем удалённое выполнение PHP-кода на сервере. Однако хранимая XSS в административной части WordPress может дать атакующему серьёзные возможности.

Сценарий атаки может выглядеть так:

  • злоумышленник отправляет вредоносное содержимое через публичную форму;
  • плагин сохраняет его в базе данных;
  • администратор открывает соответствующую заявку в панели WordPress;
  • внедрённый JavaScript выполняется в административном контексте;
  • скрипт получает возможность взаимодействовать с доступными администратору функциями.

 

В результате XSS может использоваться не только для кражи информации, но и как промежуточный этап более серьёзной атаки.

 

Одна вредоносная кампания использует несколько уязвимостей

Особенно тревожным признаком стало обнаружение одной и той же вредоносной инфраструктуры при атаках через разные WordPress-плагины.

Исследователи Patchstack сообщили 6 октября 2026 года, что один и тот же JavaScript-полезный модуль распространялся через две различные уязвимости — CVE-2026-93836 в WPC Product Bundles и CVE-2026-94504 в Ninja Forms.

«[Скрытая] учетная запись не отображается в разделе «Пользователи» → «Все пользователи», не отображается в фильтре «Администраторы» и не учитывается в общем количестве пользователей над списком», — поясняет Patchstack, добавляя, что «это администратор с полным набором привилегий, которого не видит владелец сайта».

В случае Ninja Forms вредоносный код внедрялся в данные формы, после чего выполнялся, когда соответствующую запись просматривал администратор.

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

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

 

Почему обновить WordPress недостаточно

Владельцы WordPress часто считают, что достаточно установить последнюю версию самого движка. Однако большинство подобных атак направлено не на ядро WordPress, а на сторонние плагины и темы.

WordPress представляет собой экосистему, в которой сайт может использовать десятки расширений. Каждое из них добавляет собственный PHP-код, AJAX-обработчики, REST API, формы загрузки файлов и функции взаимодействия с базой данных.

Поэтому безопасность сайта зависит от всей цепочки компонентов:

  • ядра WordPress;
  • темы;
  • плагинов;
  • премиальных дополнений;
  • библиотек;
  • конфигурации веб-сервера;
  • прав доступа к файлам.

 

В случае Ninja Forms особенно важно отдельно контролировать дополнения. Наличие актуальной версии основного конструктора форм не означает автоматически, что установленное расширение File Uploads также обновлено.

 

Как проверить версию Ninja Forms

Версию основного Ninja Forms можно посмотреть непосредственно в панели управления WordPress в разделе установленных плагинов.

Также необходимо проверить установленные дополнения Ninja Forms. Если используется File Uploads, его версия должна быть не ниже 3.3.27 для защиты от CVE-2026-0740.

Для основной версии Ninja Forms, связанной с осенней XSS-уязвимостью CVE-2026-94504, необходимо использовать исправленную версию 3.15.4 или более новую. При этом следует учитывать, что последующие исправления могли повысить минимально рекомендуемую версию.

На практике безопаснее установить последнюю доступную версию плагина и всех его дополнений, а не пытаться ограничиться минимальной версией, закрывающей одну CVE.

 

Что проверить после обновления

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

После обнаружения активной эксплуатации необходимо проверить:

  • новые PHP-файлы в wp-content/uploads;
  • неизвестные PHP-файлы в корне сайта;
  • изменённые файлы WordPress;
  • неизвестных пользователей с административными правами;
  • подозрительные задания WP-Cron;
  • незнакомые плагины и темы;
  • недавние изменения .htaccess и конфигурации веб-сервера;
  • логи HTTP-запросов к AJAX-обработчикам Ninja Forms.

 

Wordfence отдельно рекомендует проверять webroot и каталог /wp-content/uploads на наличие неизвестных PHP- и .htaccess-файлов. Также в логах стоит искать обращения к обработчику загрузки файлов Ninja Forms /wp-admin/admin-ajax.php?action=nf_fu_upload.

 

Почему PHP-файлы в uploads особенно подозрительны

Каталог wp-content/uploads предназначен прежде всего для пользовательских загрузок: изображений, документов и других файлов. Наличие PHP-файлов там не всегда автоматически означает заражение, но для большинства обычных WordPress-сайтов это серьёзный повод для проверки.

Особенно подозрительными являются файлы, которые:

  • появились недавно;
  • имеют случайные или бессмысленные имена;
  • не связаны с установленными плагинами;
  • содержат функции выполнения команд или загрузки удалённого кода;
  • совпадают по времени с подозрительными HTTP-запросами.

 

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

 

Почему web shell опаснее обычного дефейса

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

Но злоумышленнику вовсе не обязательно менять главную страницу. Web shell может оставаться скрытым и использоваться в качестве постоянного канала доступа.

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

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

 

Как защитить WordPress от подобных атак

Основная защита от известных уязвимостей достаточно проста: необходимо своевременно обновлять WordPress, плагины и темы.

Но для сайтов, имеющих коммерческое значение, этого недостаточно. Желательно использовать комплексный подход:

  • автоматически получать уведомления о новых уязвимостях;
  • своевременно устанавливать обновления безопасности;
  • удалять неиспользуемые плагины и темы;
  • ограничивать права пользователей;
  • использовать WAF;
  • регулярно проверять файлы сайта;
  • контролировать административные учётные записи;
  • вести и хранить HTTP-логи;
  • иметь проверенные резервные копии;
  • защищать административную панель дополнительной аутентификацией.

 

Особое внимание — загрузке файлов

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

При этом нельзя полагаться только на расширение. Безопасная система загрузки должна по возможности хранить пользовательские файлы за пределами исполняемой веб-директории или запрещать выполнение скриптов в каталоге загрузок.

Такой принцип способен значительно снизить последствия даже в случае ошибки конкретного плагина.

 

Что делать, если обновление невозможно

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

Для CVE-2026-0740 особенно важно не оставлять активным уязвимое дополнение File Uploads, поскольку проблема позволяет неавторизованному пользователю загружать произвольные файлы.

Однако временное отключение — это именно мера снижения риска, а не полноценная замена обновлению. После восстановления работоспособности необходимо установить исправленную версию.

 

Почему скорость установки патчей становится критичной

История Ninja Forms показывает, насколько быстро информация об уязвимости превращается в автоматизированные атаки.

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

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

 

Выводы

Ninja Forms в 2026 году стал очередным примером того, насколько опасными могут быть уязвимости популярных WordPress-плагинов. Наиболее серьёзная проблема — CVE-2026-0740 в Ninja Forms File Uploads — позволяла неавторизованным пользователям загружать произвольные файлы, включая PHP-код, что потенциально приводило к удалённому выполнению команд и полному захвату сайта.

Эта уязвимость активно эксплуатировалась, а Wordfence зафиксировал более 118 600 попыток атак. Полное исправление доступно в Ninja Forms File Uploads 3.3.27.

Но на этом проблемы Ninja Forms не закончились. Осенью исследователи обнаружили эксплуатацию CVE-2026-94504 — хранимой XSS-уязвимости в основном плагине. Она позволяет атакующему внедрить JavaScript в отправленные данные и выполнить его при просмотре соответствующей записи администратором.

Поэтому владельцам WordPress-сайтов следует обновить не только сам Ninja Forms, но и все его дополнения. Если на сайте использовалась уязвимая версия, необходимо дополнительно проверить файлы, пользователей, логи и другие признаки компрометации.

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

 

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

Ninja Forms — популярный плагин-конструктор форм для WordPress, позволяющий создавать контактные формы, формы заявок, регистрации, опросы и другие элементы без необходимости самостоятельно программировать их с нуля.

Одной из наиболее опасных является CVE-2026-0740 в дополнении Ninja Forms File Uploads. Она позволяет неавторизованному атакующему загружать произвольные файлы и потенциально выполнять PHP-код на сервере.

Полное исправление этой уязвимости появилось в версии 3.3.27. Версии до и включая 3.3.26 считаются уязвимыми.

Нет. В 3.3.25 была реализована только частичная защита. Для полного устранения CVE-2026-0740 необходимо использовать версию 3.3.27 или новее.

Это хранимая XSS-уязвимость Ninja Forms, которая позволяет внедрить вредоносный JavaScript в данные формы и выполнить его в административном контексте WordPress при просмотре соответствующей записи.

Уязвимость была исправлена в версии Ninja Forms 3.15.4. При этом рекомендуется устанавливать последнюю доступную версию плагина, а не ограничиваться минимальным релизом, закрывающим одну CVE.

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

В первую очередь стоит проверить логи HTTP-запросов, каталог wp-content/uploads, корень сайта и другие директории, доступные для записи. Особое внимание следует уделить неизвестным PHP-файлам и подозрительным запросам к AJAX-обработчику загрузки Ninja Forms.

Да. Если злоумышленник получает возможность выполнить PHP-код на сервере, он потенциально может изменить файлы сайта, создать административную учётную запись, установить backdoor, украсть данные и использовать сервер для дальнейших атак.

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

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала