
Der VTEX Checkout Service legt OrderForm-Daten über die Endpunkte `/api/checkout/pub/orderForm/{orderFormId}` und `/attachments/*` offen. Diese Endpunkte validieren den Mandanten (Store-Konto) der authentifizierten Sitzung nicht gegen den Besitz des angeforderten OrderForm.
Autorisierungsschwachstelle zwischen Mandanten und Benutzern (IDOR / BOLA) im Checkout-Dienst der VTEX Commerce Platform.
| Feld | Wert |
|---|---|
| CVE-ID | CVE-2026-52217 |
| Anbieter | VTEX |
| Produkt | VTEX Commerce Platform, Checkout-Dienst (chk) |
| Betroffen | Beobachtet auf chk v2.367.3 und reproduziert auf v2.374.3. Die Ursache liegt in der OrderForm-Speicher- und Autorisierungsschicht und ist plattformweit. |
| Schwachstellentyp | CWE-639 (Authorization Bypass Through User-Controlled Key, IDOR / BOLA); CWE-284 (Improper Access Control) |
| CVSS 3.1 | 7.7 Hoch, Vektor AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N |
| Forscher | Theo Cia (Guardsi) |
| CVE-Status | Bei MITRE reserviert. Koordinierte Offenlegung mit dem Anbieter läuft. |
Vollständige technische Details und der Proof of Concept werden in diesem Repository nicht veröffentlicht, während der Forscher und VTEX die koordinierte Offenlegung gemäß der veröffentlichten Sicherheitsrichtlinie von VTEX abschließen. Sie sind dem Anbieter sowie der zuweisenden CNA oder MITRE zur Validierung auf Anfrage über den untenstehenden privaten Kanal zugänglich. Der vollständige Bericht wird nach einem gemeinsam vereinbarten Offenlegungszeitraum veröffentlicht.
Das Checkout-OrderForm-Objekt wird über eine orderFormId angesprochen, ist aber nicht an das VTEX-Konto (Mandant) oder den authentifizierten Benutzer gebunden, der es besitzt. Aus diesem Grund kann eine Anfrage, die eine gültige orderFormId vorlegt, dieses OrderForm über Account- und Benutzergrenzen hinweg lesen und ändern, ohne dass eine Besitzprüfung der Sitzung erfolgt.
Ein Angreifer, der die orderFormId eines Opfers erlangt, kann:
Die orderFormId ist ein 128-Bit-opakes Token und nicht enumerierbar. Daher handelt es sich um eine Autorisierungslücke, die durch das Erlangen einer gültigen Kennung abgesichert ist, nicht um ein Brute-Force-Problem.
Binden Sie jedes OrderForm an seinen besitzenden Mandanten und, bei authentifizierten Warenkörben, an seinen besitzenden Benutzer. Lehnen Sie jeden Lese- oder Schreibzugriff von einer Sitzung ab, deren Mandant oder Benutzer nicht mit dem OrderForm-Besitzer übereinstimmt, und lehnen Sie anonymen Zugriff auf ein OrderForm ab, das einem authentifizierten Benutzer gehört.
Vollständige Reproduktionsschritte und ein funktionierender Proof of Concept sind auf Anfrage über den obigen Anbieterkanal verfügbar. Der Proof of Concept wurde nur gegen Testkonten des Forschers mit synthetischen Daten ausgeführt. Die Zurückhaltung aus dem öffentlichen Archiv wahrt die koordinierte Offenlegung, während das Problem behoben wird.
Theo Cia, Guardsi.