Для плагина NotificationX FOMO для веб-сайтов WordPress и WooCommerce было выпущено предупреждение об уязвимости, затрагивающее более 40 000 веб-сайтов. Уязвимость, имеющая уровень серьезности 7,2 (высокий), позволяет злоумышленникам, не прошедшим проверку подлинности, внедрить вредоносный код JavaScript, который может быть выполнен в браузере посетителя при выполнении определенных условий.

NotificationX – плагин FOMO

Плагин NotificationX FOMO используется владельцами веб-сайтов WordPress и WooCommerce для отображения панелей уведомлений, всплывающих окон и оповещений в реальном времени, таких как текущие продажи, объявления и рекламные сообщения. Плагин широко используется на веб-сайтах маркетинга и электронной коммерции для создания срочности с помощью уведомлений и привлечения внимания посетителей.

уровень воздействия

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

Основная причина уязвимости

Проблема заключается в уязвимости межсайтового скриптинга (XSS) на основе DOM, связанной с тем, как плагин обрабатывает данные предварительного просмотра. В контексте уязвимости плагина WordPress уязвимость межсайтового скриптинга на основе DOM (XSS) возникает, когда плагин WordPress содержит клиентский JavaScript, который обрабатывает данные из ненадежного источника («источник») небезопасным способом, обычно путем записи данных на веб-страницу («приемник»).

В контексте плагина NotificationX уязвимость существует, поскольку сценарии плагина принимают входные данные через параметр POST nx-preview, но не очищают должным образом входные данные или не маскируют выходные данные перед их отображением в браузере. Проверки безопасности, предназначенные для проверки того, что введенные пользователем данные обрабатываются как обычный текст, отсутствуют. Это позволяет злоумышленнику создать вредоносную веб-страницу, которая автоматически отправляет форму на веб-сайт жертвы, заставляя браузер жертвы выполнять вредоносные сценарии, внедренные с помощью этого параметра.

ЧИТАТЬ  10 лучших SEO-инструментов и лучших SEO-плагинов для WordPress в 2023 году — TWH

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

Что могут сделать злоумышленники

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

Это может позволить злоумышленникам:

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

Официальный Совет по границе слов объяснил:

«Плагин NotificationX — FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar» для WordPress уязвим к межсайтовому скриптингу на основе DOM во всех версиях до 3.2.0 включительно через параметр POST «nx-preview». Это связано с недостаточной очисткой ввода и экранированием вывода при обработке данных предварительного просмотра. Это позволяет неаутентифицированным злоумышленникам проникать по своему желанию». Веб-скрипты на страницах, которые запускаются, когда пользователь посещает вредоносную страницу, которая автоматически отправляет форму на уязвимый веб-сайт».

Затронутые версии

Все версии NotificationX до 3.2.0 включительно уязвимы. Доступен патч, и уязвимость устранена в NotificationX версии 3.2.1, которая включает улучшения безопасности, связанные с этой проблемой.

Рекомендуемое действие

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

ЧИТАТЬ  12 преимуществ веб-сайта для вашего бизнеса

Еще один недостаток безопасности

У этого плагина есть еще одна уязвимость со средним уровнем угрозы 4.3. Консультанты по Wordfencey для этого описывает это так:

«Плагин NotificationX для WordPress уязвим для несанкционированных изменений данных, поскольку во всех версиях до 3.1.11 включительно отсутствует проверка функциональности конечных точек REST API Regenerate и Reset. Это позволяет аутентифицированным злоумышленникам с доступом на уровне участника и выше сбрасывать аналитику для любой кампании NotificationX, независимо от владельца».

Плагин NotificationX WordPress включает в себя две конечные точки REST API, называемые «регенерация» и «сброс». Эти конечные точки используются для управления аналитикой кампании, например: B. для сброса или восстановления статистики, показывающей эффективность уведомления.

Проблема в том, что эти конечные точки не проверяют должным образом права пользователей на изменение данных. В этом случае плагин проверяет только то, вошел ли пользователь в систему с уровнем доступа участника или выше, а не то, действительно ли ему разрешено выполнять действие. Хотя пользователи с ролью «Участник» обычно имеют очень ограниченные права, эта ошибка позволяет им выполнять действия, которые они не должны иметь.

В этом случае ущерб, который может нанести злоумышленник, ограничен. Например, злоумышленник не может захватить веб-сайт. Обновление до версии 3.2.1 или более поздней (как и в случае с другой уязвимостью) устраняет эту уязвимость.

Злоумышленник может:

  • Сбросить аналитику для каждой кампании NotificationX
  • Сделайте это, даже если они не создавали кампанию и не владели ею.
  • Повторное удаление или восстановление статистики кампании

Рекомендованное изображение с сайта Shutterstock/Art Furnace

Source