Commerce Core access bypass CVE-2026-118539 — активная эксплуатация
Суть
Модуль commerce (корзина, checkout, API) недостаточно защищает отдельные маршруты и поля сущностей → access bypass. Без аутентификации (оценка Drupal: AC:None / A:None). Импакт по бюллетеню — финансовый для продавца, не заявлен как RCE. Risk: Highly critical 21/25. Отдельного CVSS в SA нет.
Затронуто и исправлено
| Ветка | Уязвимы | Исправлено |
|---|---|---|
| 3.x | ≥ 3.0.0 и < 3.3.13 | 3.3.13 |
| 8.x-2.x / earlier | < 2.41 | 8.x-2.41 |
Пример: 3.3.12 — уязвима, 3.3.13 — исправлена; 2.40 — уязвима, 2.41 — исправлена.
Проект machine name: commerce. Это contrib, не core Drupal.
Эксплуатация
- Drupal SA-CONTRIB-2026-254 (28.10.2026): «This vulnerability is being actively exploited in the wild.» Рекомендация: audit orders for inconsistencies.
- CCCS AV26-1105 (30.10.2026): open-source reporting indicates exploitation.
- Детали маршрутов/полей и PoC Drupal не публикует — в наших текстах не реконструируем.
- CISA KEV: на 03.11.2026 по данным хода не утверждаем наличие записи.
Как проверить
drush pm:list --filter=commerce
# или
composer show drupal/commerceВ UI: Extend — версия Commerce. Для парка сайтов — инвентаризация drupal/commerce в lock-файлах.
После патча: выборка заказов за окно до/после 28.10.2026 — аномалии price / quantity / adjustments / state / payment.
Как исправить
Копии сайта и БД — вне webroot. Перед обновлением — maintenance или временно закрыть checkout; после — снять и прогнать тестовый заказ.
Composer (типично). В UI/проекте линия 8.x-2.41, в Packagist/composer show — 2.41.x (это одна цель):
composer show drupal/commerce
composer update drupal/commerce --with-dependencies
drush updatedb -y
drush crКонтроль после деплоя снова composer show drupal/commerce → 3.3.13 или 2.41.x. На нескольких витринах — выкатить на все. Docker/K8s: править lock → пересборка образа → выкат (update «внутри» эфемерного контейнера откатится). При CDN/Varnish — сброс кэша checkout, не только drush cr.
Подводные камни: жёсткий pin 3.3.12 / запрет 3.3.13 блокирует; ~3.3.12 как раз пускает 3.3.13 — не путать; чужие патчи модуля; stage/prod с разным lock.
Если обновить нельзя
Официальных mitigations в SA нет. Временно: отключить checkout / вывести магазин в maintenance через владельца; WAF-эвристики не замена патчу и не описываем как достаточные.
Признаки взлома и что делать
Официально: несогласованные заказы. Практически: сверка оплат и сумм, поиск заказов с аномальной стоимостью/статусом, аудит admin-ролей и недавних config-export diff. После инцидента — патч + аудит + инцидент-процесс; одного composer update мало, если заказы уже повреждены.
Источники
- https://www.drupal.org/sa-contrib-2026-254
- https://www.cyber.gc.ca/en/alerts-advisories/drupal-security-advisory-av26-1105
Реестры — номером без ссылки: CVE-2026-118539.