
O VTEX Checkout Service expõe dados do OrderForm através dos endpoints `/api/checkout/pub/orderForm/{orderFormId}` e `/attachments/*`. Esses endpoints não validam o tenant (conta da loja) da sessão autenticada em relação à propriedade do OrderForm solicitado.
Falha de autorização entre tenants e entre usuários (IDOR / BOLA) no serviço Checkout da VTEX Commerce Platform.
| Campo | Valor |
|---|---|
| ID CVE | CVE-2026-52217 |
| Fornecedor | VTEX |
| Produto | VTEX Commerce Platform, serviço Checkout (chk) |
| Afetados | Observado em chk v2.367.3 e reproduzido na v2.374.3. A causa raiz está na camada de armazenamento e autorização do OrderForm e é abrangente em toda a plataforma. |
| Tipo de vulnerabilidade | CWE-639 (Bypass de Autorização por Chave Controlada pelo Usuário, IDOR / BOLA); CWE-284 (Controle de Acesso Impropriado) |
| CVSS 3.1 | 7.7 Alta, vetor AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N |
| Pesquisador | Theo Cia (Guardsi) |
| Status do CVE | Reservado na MITRE. Divulgação coordenada com o fornecedor em andamento. |
Detalhes técnicos completos e a prova de conceito não são publicados neste repositório enquanto o pesquisador e a VTEX concluem a divulgação coordenada de acordo com a política de segurança publicada pela VTEX. Eles estão disponíveis ao fornecedor e ao CNA designado ou à MITRE para validação, mediante solicitação pelo canal privado abaixo. O relatório completo será publicado após um período de divulgação mutuamente acordado.
O objeto OrderForm do Checkout é endereçado por um orderFormId, mas não está vinculado à conta VTEX (tenant) nem ao usuário autenticado que o possui. Por causa disso, uma requisição que apresenta um orderFormId válido pode ler e modificar esse OrderForm entre contas e usuários, sem verificação de propriedade na sessão.
Um agente que obtiver o orderFormId da vítima pode:
O orderFormId é um token opaco de 128 bits e não é enumerável; portanto, trata-se de uma falha de autorização condicionada à obtenção de um identificador válido, e não de um problema de força bruta.
Vincule cada OrderForm ao seu tenant proprietário e, para carrinhos autenticados, ao seu usuário proprietário. Rejeite qualquer leitura ou escrita proveniente de uma sessão cujo tenant ou usuário não corresponda ao proprietário do OrderForm e rejeite acesso anônimo a um OrderForm pertencente a um usuário autenticado.
Etapas completas de reprodução e uma prova de conceito funcional estão disponíveis mediante solicitação pelo canal do fornecedor acima. A prova de conceito foi executada apenas contra contas de teste pertencentes ao pesquisador, usando dados sintéticos. Mantê-la fora do registro público preserva a divulgação coordenada enquanto o problema está sendo tratado.
Theo Cia, Guardsi.