В компоненте JoomShopping обнаружена уязвимость отражённой межсайтовой подстановки сценариев, которая позволяет злоумышленнику внедрить JavaScript-код в специально сформированную ссылку на страницу товара.

Уязвимость получила идентификатор CVE-2026-63264 и оценку 5,3 балла по шкале CVSS 4.0, что соответствует среднему уровню угрозы. Проблема затрагивает JoomShopping версий от 3.5.0 до 5.9.2 включительно.

Исправление безопасности появилось в версии 5.9.3. На момент публикации актуальной версией компонента является JoomShopping 5.9.4, поэтому владельцам магазинов рекомендуется обновиться именно до неё или до более новой версии.

Важно!
Если на вашем сайте используется JoomShopping 5.9.2 или более ранняя версия, обновите компонент как можно скорее. Для эксплуатации уязвимости не требуется учётная запись на сайте, однако злоумышленнику необходимо убедить посетителя или администратора перейти по специально подготовленной ссылке.

Суть угрозы: отражённая XSS в JoomShopping

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

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

Как может проходить атака?

  1. Злоумышленник создаёт ссылку на страницу товара JoomShopping со специально подготовленным параметром.
  2. Ссылка отправляется пользователю по электронной почте, в мессенджере, социальной сети или размещается на стороннем сайте.
  3. Пользователь переходит по ссылке, доверяя домену знакомого интернет-магазина.
  4. Уязвимая версия JoomShopping выводит переданные данные без достаточной фильтрации.
  5. В браузере посетителя выполняется вредоносный JavaScript-код в контексте домена магазина.

К чему может привести эксплуатация?

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

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

Почему уровень угрозы не критический?
Для успешной эксплуатации требуется взаимодействие пользователя — он должен перейти по специально подготовленной ссылке. Кроме того, уязвимость выполняется в браузере и сама по себе не предоставляет злоумышленнику прямое удалённое выполнение PHP-кода на сервере. Тем не менее для интернет-магазина даже подмена страницы или кража пользовательской сессии представляет серьёзный риск.

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

Уязвимы сайты, использующие JoomShopping от версии 3.5.0 до 5.9.2 включительно. Это относится в том числе к интернет-магазинам, работающим на старых версиях Joomla.

Первая версия с исправлением — JoomShopping 5.9.3. Однако после неё уже выпущена версия 5.9.4 с дополнительным исправлением ошибки, поэтому устанавливать следует 5.9.4 или более новую доступную версию.

Актуальная ветка JoomShopping совместима с Joomla 4, Joomla 5 и Joomla 6. Перед обновлением старого магазина необходимо отдельно проверить совместимость используемого шаблона, платёжных плагинов, способов доставки и коммерческих дополнений.

Старые магазины требуют особого внимания
Если магазин всё ещё работает на Joomla 3 или устаревшей ветке JoomShopping, одного обновления компонента может быть недостаточно. Необходимо запланировать полноценную миграцию сайта, поскольку старое ядро Joomla, PHP и сторонние дополнения могут содержать другие уже известные уязвимости.

Решение проблемы: пошаговая инструкция

Шаг 1: проверьте установленную версию

  1. Откройте панель управления Joomla.
  2. Перейдите в раздел Система → Управление → Расширения.
  3. Введите в строке поиска JoomShopping или com_jshopping.
  4. Проверьте номер установленной версии компонента.

Если установлена версия 5.9.2 или ниже, сайт необходимо обновить.

Шаг 2: создайте полную резервную копию

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

Для интернет-магазина особенно важно убедиться, что в архив попали:

  • таблицы товаров, заказов, клиентов и настроек JoomShopping;
  • изображения товаров;
  • платёжные и доставочные плагины;
  • шаблон JoomShopping и его переопределения;
  • коммерческие дополнения и их настройки.

Шаг 3: обновите JoomShopping

  1. Перейдите в раздел Система → Обновление → Расширения.
  2. Нажмите кнопку проверки обновлений.
  3. Найдите JoomShopping и установите версию 5.9.4 или выше.
  4. После завершения обновления снова проверьте номер версии в списке установленных расширений.

Если обновление не отображается
Скачайте актуальный пакет JoomShopping с официального сайта разработчика и установите его через Система → Установка → Расширения. Не удаляйте старый компонент перед обновлением: удаление может затронуть данные и настройки магазина. Не устанавливайте архивы из неофициальных источников.

Шаг 4: обновите связанные расширения

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

  • платёжных плагинов;
  • плагинов доставки;
  • модулей корзины, избранного, фильтрации и поиска;
  • импорта и экспорта товаров;
  • генерации счетов и печатных форм;
  • SEO- и маршрутных плагинов;
  • шаблона интернет-магазина и переопределений.

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

Шаг 5: очистите кэш и протестируйте магазин

После установки обновления очистите кэш Joomla, серверный кэш и CDN, если он используется. Затем обязательно проверьте:

  1. открытие категорий и карточек товаров;
  2. выбор характеристик и атрибутов товара;
  3. добавление, изменение количества и удаление товаров из корзины;
  4. регистрацию и оформление заказа без регистрации;
  5. применение купонов и расчёт скидок;
  6. расчёт стоимости доставки и налогов;
  7. переход к платёжной системе и возврат на сайт;
  8. отправку писем покупателю и администратору;
  9. отображение заказов в панели управления.

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

Нужно ли искать следы взлома?

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

Тем не менее после обновления рекомендуется:

  1. Проверить журналы доступа: найдите необычные запросы к страницам товаров с длинными закодированными параметрами, HTML-тегами или JavaScript-конструкциями.
  2. Проверить администраторов: убедитесь, что в Joomla не появились неизвестные учётные записи или пользователи с повышенными правами.
  3. Проверить изменения магазина: просмотрите платёжные способы, адреса получателей уведомлений, шаблоны писем и недавно изменённые материалы.
  4. Проверить файлы: обратите внимание на недавно изменённые PHP-файлы и посторонние скрипты в папках сайта.
  5. Проверить жалобы клиентов: сообщения о перенаправлениях, поддельных формах или необычном поведении магазина могут указывать на попытку эксплуатации.

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

Ещё одна известная уязвимость старых версий

Ранее для JoomShopping была опубликована CVE-2025-22211 — SQL-инъекция в административном разделе управления странами. По актуализированным данным она затрагивает очень старые версии от 1.0.0 до 1.4.3, а для эксплуатации требуются права администратора.

Для современных магазинов основной актуальной угрозой является CVE-2026-63264. Однако наличие старых CVE ещё раз показывает, почему нельзя годами оставлять интернет-магазин без обновлений.

Дополнительные меры защиты JoomShopping

  • Поддерживайте Joomla, JoomShopping и PHP в актуальном состоянии.
  • Удаляйте неиспользуемые дополнения, а не только отключайте их.
  • Включите многофакторную аутентификацию для всех администраторов.
  • Не открывайте административные ссылки из подозрительных писем в браузере с активной сессией Joomla.
  • Ограничьте права менеджеров магазина только необходимыми действиями.
  • Регулярно проверяйте журналы, пользователей и изменения файлов.
  • Создавайте автоматические резервные копии и храните их вне сервера магазина.

Можем сделать всё за вас

Если вы не уверены в совместимости дополнений или боитесь нарушить работу магазина, наши специалисты помогут:

  • создать резервную и тестовую копии сайта;
  • обновить Joomla, JoomShopping и связанные расширения;
  • проверить шаблон и переопределения;
  • протестировать корзину, оформление заказа, доставку и оплату;
  • проверить сайт на вредоносный код и посторонние изменения;
  • усилить защиту административной панели.

Оставить заявку Список услуг

Post Scriptum
Интернет-магазин обрабатывает персональные данные, заказы и платежи, поэтому откладывать обновления особенно опасно. Чем дольше сайт работает на старых версиях Joomla, PHP и JoomShopping, тем больше известных уязвимостей остаётся доступно злоумышленникам. Своевременное обновление обходится значительно дешевле восстановления взломанного магазина.