
Сервис VTEX Checkout Service предоставляет данные OrderForm через конечные точки `/api/checkout/pub/orderForm/{orderFormId}` и `/attachments/*`. Эти конечные точки не проверяют соответствие тенанта (учётной записи магазина) аутентифицированной сессии праву владения запрошенным OrderForm.
Межтенантная и межпользовательская ошибка авторизации (IDOR / BOLA) в службе Checkout платформы VTEX Commerce Platform.
| Поле | Значение |
|---|---|
| Идентификатор CVE | CVE-2026-52217 |
| Вендор | VTEX |
| Продукт | VTEX Commerce Platform, служба Checkout (chk) |
| Затронутые версии | Наблюдается на chk v2.367.3 и воспроизведено на v2.374.3. Корневая причина находится в слое хранения и авторизации OrderForm и затрагивает всю платформу. |
| Тип уязвимости | CWE-639 (Authorization Bypass Through User-Controlled Key, IDOR / BOLA); CWE-284 (Improper Access Control) |
| CVSS 3.1 | 7.7 High, вектор AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N |
| Исследователь | Theo Cia (Guardsi) |
| Статус CVE | Зарезервирован в MITRE. Скоординированное раскрытие с вендором в процессе. |
Полные технические детали и доказательство концепции не публикуются в этом репозитории, пока исследователь и VTEX завершают скоординированное раскрытие в соответствии с опубликованной политикой безопасности VTEX. Они доступны вендору, а также назначенному CNA или MITRE для проверки, по запросу через приватный канал, указанный ниже. Полный отчет будет опубликован после взаимно согласованного окна раскрытия.
Объект OrderForm в Checkout адресуется с помощью orderFormId, но он не привязан ни к аккаунту VTEX (тенанту), ни к аутентифицированному пользователю, которому принадлежит. Из-за этого запрос с действительным orderFormId может читать и изменять такой OrderForm за пределами границ аккаунта и пользователя, без проверки владения в сессии.
Злоумышленник, получивший orderFormId жертвы, может:
orderFormId — это 128-битный непрозрачный токен, который не поддается перебору, поэтому это недостаток авторизации, для эксплуатации которого требуется получить действительный идентификатор, а не проблема перебора.
Привязать каждый OrderForm к тенанту-владельцу и, для аутентифицированных корзин, к пользователю-владельцу. Отклонять любые операции чтения или записи из сессии, чей тенант или пользователь не совпадает с владельцем OrderForm, а также отклонять анонимный доступ к OrderForm, принадлежащему аутентифицированному пользователю.
Полные шаги воспроизведения и рабочее доказательство концепции доступны по запросу через указанный выше канал вендора. Доказательство концепции выполнялось только против тестовых аккаунтов, принадлежащих исследователю, с использованием синтетических данных. Непубликация этих материалов в открытом доступе позволяет сохранить скоординированное раскрытие, пока проблема устраняется.
Theo Cia, Guardsi.