
تعرّض خدمة VTEX Checkout Service بيانات OrderForm عبر نقطتي النهاية `/api/checkout/pub/orderForm/{orderFormId}` و`/attachments/*`. لا تتحقق نقطتا النهاية هاتان من أن المستأجر (حساب المتجر) للجلسة المصادَق عليها يطابق ملكية OrderForm المطلوبة.
ثغرة تفويض عبر المستأجرين وعبر المستخدمين (IDOR / BOLA) في خدمة Checkout بمنصة VTEX للتجارة.
| الحقل | القيمة |
|---|---|
| CVE ID | CVE-2026-52217 |
| البائع | VTEX |
| المنتج | VTEX Commerce Platform، خدمة Checkout (chk) |
| المتأثر | لُوحظت على chk v2.367.3 وأُعيد إنتاجها على v2.374.3. السبب الجذري يقع في طبقة تخزين OrderForm والتفويض، والثغرة واسعة الانتشار على مستوى المنصة. |
| نوع الثغرة | CWE-639 (تجاوز التفويض عبر مفتاح يتحكم به المستخدم، IDOR / BOLA)؛ CWE-284 (التحكم غير السليم في الوصول) |
| CVSS 3.1 | 7.7 عالية، المتجه 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 بت وليست قابلة للتعداد، لذا فهذه ثغرة تفويض مشروطة بالحصول على معرّف صالح، وليست مشكلة تخمين بالقوة العمياء (brute-force).
اربط كل OrderForm بمستأجرها المالك، وبالنسبة لسلات الشراء الموثّقة، بمستخدمها المالك. ارفض أي قراءة أو كتابة من جلسة لا يطابق مستأجرها أو مستخدمها مالك OrderForm، وارفض الوصول المجهول إلى OrderForm يملكها مستخدم موثّق.
خطوات إعادة الإنتاج الكاملة وإثبات مفهوم عملي متاحة عند الطلب عبر قناة البائع أعلاه. نُفّذ إثبات المفهوم فقط ضد حسابات اختبار يملكها الباحث، باستخدام بيانات اصطناعية. إبقاؤه بعيدًا عن السجل العام يحافظ على الإفصاح المنسق أثناء معالجة المشكلة.
Theo Cia, Guardsi.