В сети уже эксплуатируют обход контроля доступа в Commerce Core

Drupal

Обход контроля доступа в модуле Commerce Core для Drupal применяют в реальных атаках. Модуль не проверяет права на часть маршрутов и полей сущностей, поэтому посетитель получает данные и действия, которые ему не положены. Уведомление прямо говорит о возможных денежных потерях для владельца магазина. Затронуты ветки 2.x и 3.x; документ датирован 28 октября 2026 года, а время первых атак в нём не указано.

Активная эксплуатация, исправленные версии и остальные уведомления модулей Drupal

Проверка прав не покрывает часть маршрутов модуля и часть полей сущностей. Запросы к ним проходят без учётной записи и без специальных условий. Оценку CVSS вендор не приводит, зато указывает уровень Highly critical и 21 из 25 по собственной шкале. Номер уязвимости - CVE-2026-118539.

Исправленные версии - Commerce Core 3.3.13 для ветки 3.x и 8.x-2.41 для ветки 2.x. Обходных мер уведомление не приводит, поэтому остаётся обновление. Атаки уже идут, так что промедление с установкой повышает риск.

Остальные уязвимости Commerce Core

Отдельное уведомление по тому же модулю описывает раскрытие информации. При включённом модуле JSON:API, который отдаёт данные сайта в формате JSON, неопубликованные вариации товара становятся доступны пользователям без нужных прав. Уровень уведомления: Moderately critical, 12 из 25, эксплуатация пока теоретическая. Затронуты сайты, где есть опубликованные товары с неопубликованными вариациями. Ветку 3.3.x эта уязвимость не затрагивает.

Промоакции и купоны связаны между собой, и доступ к этой связи проверяется слабо. Пользователь, которому разрешено управлять только своими промоакциями, может удалить или изменить чужие купоны. Уровень: Less critical, 9 из 25; нужен сайт, принимающий записи через JSON:API или REST, а по умолчанию это выключено. Похожая проблема есть с магазинами: тот, кто создаёт магазины или правит свой, назначает его основным и получает чужие заказы. Уровень здесь Moderately critical, страдают сайты, где такие права выдали недоверенным пользователям, например торговые площадки.

Ещё одна уязвимость касается почтового ящика на панели управления Commerce. Маршруты ящика не проверяют CSRF-токен, то есть не подтверждают, что запрос отправил сам пользователь. CSRF (подделка межсайтовых запросов) заставляет браузер выполнить действие от имени пользователя без его ведома. Атакующий заманивает администратора на специальную страницу, и уведомления исчезают у всех администраторов сразу, вместе с сообщениями о доступных обновлениях безопасности. Уровень: Moderately critical.

Рядом стоит раскрытие данных через запросы к сущностям. Модуль не ограничивает выдачу вариациями, которые пользователь вправе видеть. При включённом JSON:API посетитель серией запросов определяет значения полей неопубликованной вариации. Уровень: 11 из 25, есть доказательство концепции; исправления те же - 3.3.13 и 8.x-2.41.

Commerce License и Commerce Shipping

Модуль Commerce License продаёт лицензии на доступ к ресурсам, например к ролям или файлам. Владелец лицензии с правом обновлять свои лицензии может изменить выданные права и состояние лицензии. Это ведёт к повышению привилегий вплоть до роли администратора сайта. Уровень: Moderately critical, 12 из 25; право выдаётся не по умолчанию. Исправление - Commerce License 3.1.1; после обновления проверяют роли в лицензиях и состав пользователей с административными правами.

Commerce Shipping не защищает ссылки на отправки и поля сущности отправки. Поэтому состояние отправки можно изменить, а саму отправку удалить; для этого нужен доступ к корзине через API. Уровень: Moderately critical, 11 из 25. Вторая уязвимость модуля касается формы повторной отправки квитанций: при части настроек пользователь получает квитанции и данные заказов, которые ему не принадлежат. Исправления - 3.0.6 для ветки 3.0.x и 8.x-2.16 для ветки 2.x.

Подмена оплаты в Commerce Stripe

В Commerce Stripe не хватает CSRF-токена в адресе возврата при переходе в Stripe Connect за кодом авторизации. Атакующий заманивает администратора на ссылку, и заказ помечается оплаченным без платежа. Уровень: Critical, 15 из 25. Исправление одно для всех веток - Commerce Stripe 2.2.3; ветки 2.0.x и 2.1.x больше не поддерживаются, а 8.x-1.x уязвимость не затрагивает.

Там же не проверяется подпись оповещения от платёжной системы (вебхука), если в настройках шлюза не задан секрет подписи. Опасность меньше: не все плагины шлюзов используют вебхуки, а любой заданный секрет закрывает проблему. Третья уязвимость - межсайтовый скриптинг (XSS) при настройке шлюзов; нужны права администратора и компрометация внешнего сервиса. Уровень у всех трёх: Moderately critical, кроме случая с подменой оплаты.

Несколько уязвимостей в модуле AI

В модуле AI (Artificial Intelligence) для Drupal набралось несколько проблем. Часть из них - межсайтовый скриптинг: модуль слабо ограничивает вывод HTML, не фильтрует ввод в подмодуле чат-бота, не очищает атрибуты HTMX (механизм частичной подгрузки страницы) и не проверяет права на форматы текста в подмодуле AI Automator. Уязвимость с проверкой ссылок в разметке Markdown оценена как Critical, 15 из 25, и учётной записи не требует. Остальные случаи требуют прав администратора блоков либо доступа к формату текста с поддержкой HTML.

Отдельно модуль раскрывает данные: не проверяет ссылки и может отправить чувствительную информацию на внешний сайт. Подмодуль AI Search отдаёт из кеша результаты поиска по закрытому содержимому. Условий несколько: подмодуль включён вместе с представлением Search API; кеширование результатов включено; пользователь с доступом выполнил такой же запрос в пределах срока жизни кеша. Подмодуль объявлен устаревшим, и вендор советует перейти на отдельный AI Search; для него вышли 1.3.0-alpha6 и 2.0.0-alpha3.

Утечка аудио для распознавания речи связана с временным каталогом. Модуль пишет все запросы в один файл и не удаляет его, поэтому другой пользователь с доступом к каталогу читает чужие записи. Исправление держит аудио в памяти; владельцам сайтов советуют удалить оставшиеся файлы из временного каталога. Уровень: Less critical. Исправления для модуля AI - 1.5.2 для ветки 1.5.x и 1.4.11 для ветки 1.4.x, ветка 1.3.x больше не поддерживается.

Импорт файлов в Single Content Sync

Single Content Sync переносит контент, связанные сущности и файлы между сайтами Drupal. При импорте модуль не проверяет источники и приёмники файлов. Записать произвольный файл, прочитать локальные файлы веб-сервера или заставить сервер обратиться к внутренним и внешним ресурсам несложно. При подходящей настройке сервера это доходит до выполнения кода. Уровень: Critical, 17 из 25, идентификатор - CVE-2026-118561.

Эксплуатация требует права на импорт контента; с версии 1.4.18 это право помечено как ограниченное. Исправление - Single Content Sync 1.4.19. После обновления выполняют обновления базы данных, пересобирают кеш и проверяют, у кого есть право импорта. Загрузка удалённых файлов при импорте по умолчанию выключена; если она нужна, в настройках указывают доверенные хосты либо импортируют архив ZIP с нужными файлами.

Обход контроля доступа в Commerce Core отличается от остальных уведомлений тем, что атаки уже идут. В других случаях нужны права в системе, включённые модули или особые настройки. Обновление до Commerce Core 3.3.13 или 8.x-2.41 закрывает уязвимости этого модуля, а сайтам на Single Content Sync и Commerce Stripe нужны свои версии.

Ссылки

Комментарии: 0