Saleor is an e-commerce platform. Versions 3.2.0 through 3.20.109, 3.21.0-a.0 through 3.21.44 and 3.22.0-a.0 through 3.22.28 have a n Insecure Direct Object Reference (IDOR) vulnerability that allows unauthenticated actors to extract sensitive information in plain text. Orders created before Saleor 3.2.0 could have PIIs exfiltrated. The issue has been patched in Saleor versions: 3.22.29, 3.21.45, and 3.20.110. To workaround, temporarily block non-staff users from fetching order information (the order() GraphQL query) using a WAF.
Saleor e-commerce platform versions 3.2.0-3.20.109, 3.21.0-3.21.44, and 3.22.0-3.22.28 contain an Insecure Direct Object Reference (IDOR) vulnerability allowing unauthenticated attackers to extract sensitive customer information including Personally Identifiable Information (PII) in plain text. This vulnerability affects orders across multiple versions and poses significant risk to Saudi e-commerce operators handling customer data. Patches are available and immediate patching is strongly recommended.
IMMEDIATE ACTIONS:
1. Identify all Saleor instances in your environment and verify versions against affected ranges (3.2.0-3.20.109, 3.21.0-3.21.44, 3.22.0-3.22.28)
2. Implement WAF rules to block non-staff users from accessing the order() GraphQL query endpoint immediately as temporary mitigation
3. Audit access logs for suspicious order data extraction attempts (GraphQL queries to order() endpoint from non-authenticated sources)
4. Notify customers if PII exposure is confirmed; prepare breach notification per PDPL requirements
PATCHING GUIDANCE:
1. Upgrade to patched versions: 3.22.29, 3.21.45, or 3.20.110 depending on current version
2. Test patches in staging environment before production deployment
3. Schedule maintenance window for patching (coordinate with business stakeholders)
4. Verify patch application by confirming version numbers post-upgrade
COMPENSATING CONTROLS (if patching delayed):
1. Implement strict WAF rules blocking GraphQL order() queries from non-authenticated users
2. Enable API rate limiting on GraphQL endpoints
3. Implement IP whitelisting for order query access
4. Deploy API gateway authentication enforcement
5. Monitor GraphQL query logs for anomalous patterns
DETECTION RULES:
1. Alert on GraphQL order() queries from unauthenticated sources
2. Monitor for bulk order ID enumeration attempts (sequential ID requests)
3. Track failed authentication attempts followed by order query attempts
4. Log and alert on unusual geographic access patterns to order data
الإجراءات الفورية:
1. حدد جميع مثيلات Saleor في بيئتك وتحقق من الإصدارات مقابل النطاقات المتأثرة (3.2.0-3.20.109، 3.21.0-3.21.44، 3.22.0-3.22.28)
2. طبق قواعد WAF لحظر المستخدمين غير الموظفين من الوصول إلى نقطة نهاية GraphQL للطلب فوراً كتخفيف مؤقت
3. قم بتدقيق سجلات الوصول لمحاولات استخراج بيانات الطلبات المريبة (استعلامات GraphQL إلى نقطة الطلب من مصادر غير مصرح لها)
4. أخطر العملاء إذا تم تأكيد تعرض البيانات الشخصية؛ جهز إشعار الانتهاك وفقاً لمتطلبات قانون حماية البيانات الشخصية
إرشادات التصحيح:
1. قم بالترقية إلى الإصدارات المصححة: 3.22.29 أو 3.21.45 أو 3.20.110 حسب الإصدار الحالي
2. اختبر التصحيحات في بيئة التجريب قبل نشر الإنتاج
3. جدول نافذة صيانة للتصحيح (تنسيق مع أصحاب المصلحة في الأعمال)
4. تحقق من تطبيق التصحيح بتأكيد أرقام الإصدارات بعد الترقية
الضوابط البديلة (إذا تأخر التصحيح):
1. طبق قواعد WAF صارمة تحظر استعلامات GraphQL للطلب من مستخدمين غير مصرح لهم
2. فعّل تحديد معدل API على نقاط نهاية GraphQL
3. طبق القائمة البيضاء للعناوين IP لوصول استعلام الطلب
4. نشر فرض المصادقة على بوابة API
5. راقب سجلات استعلام GraphQL للأنماط الشاذة
قواعد الكشف:
1. تنبيه على استعلامات GraphQL للطلب من مصادر غير مصرح لها
2. مراقبة محاولات تعداد معرف الطلب الضخمة (طلبات معرف متسلسلة)
3. تتبع محاولات المصادقة الفاشلة متبوعة بمحاولات استعلام الطلب
4. تسجيل والتنبيه على أنماط الوصول الجغرافية غير المعتادة لبيانات الطلب