The Payment Gateway for Redsys & WooCommerce Lite plugin for WordPress is vulnerable to Improper Verification of Cryptographic Signature in versions up to, and including, 7.0.0 due to successful_request() handlers calculating a local signature but not validating Ds_Signature from the request before accepting payment status across the Redsys, Bizum, and Google Pay gateway flows. This makes it possible for unauthenticated attackers to forge payment callback data and mark pending orders as paid when they know a valid order key and order amount, potentially allowing checkout completion and product or service fulfillment without a successful payment.
CVE-2026-5050 is a critical payment fraud vulnerability in the Redsys & WooCommerce Lite plugin affecting WordPress e-commerce sites. The vulnerability allows unauthenticated attackers to forge payment callbacks and mark orders as paid without actual payment completion, exploiting improper cryptographic signature verification. This poses significant financial and operational risk to Saudi e-commerce businesses and payment processors using this plugin.
IMMEDIATE ACTIONS:
1. Identify all WordPress installations using Redsys & WooCommerce Lite plugin versions up to 7.0.0
2. Disable the plugin immediately if no patch is available
3. Review transaction logs for suspicious payment callbacks with mismatched signatures (check Ds_Signature validation failures)
4. Audit recent orders marked as paid without corresponding payment processor confirmation
COMPENSATING CONTROLS (until patch available):
1. Implement custom code to validate Ds_Signature parameter against Redsys public key before accepting payment status
2. Add server-side verification: cross-reference all payment callbacks with Redsys transaction API before order fulfillment
3. Implement rate limiting on payment callback endpoints
4. Enable logging and alerting for signature validation failures
5. Require manual verification for high-value orders before fulfillment
DETECTION RULES:
1. Monitor for POST requests to payment callback handlers with missing or invalid Ds_Signature parameters
2. Alert on orders transitioning to 'paid' status without corresponding Redsys API confirmation
3. Track callback requests from non-Redsys IP ranges
4. Flag orders where callback timestamp differs significantly from order creation time
PATCHING:
1. Monitor plugin repository for version 7.0.1 or later
2. Test patch in staging environment before production deployment
3. Implement Web Application Firewall (WAF) rules to block malformed payment callbacks
الإجراءات الفورية:
1. تحديد جميع تثبيتات WordPress التي تستخدم مكون Redsys & WooCommerce Lite الإصدارات حتى 7.0.0
2. تعطيل المكون فوراً إذا لم تكن هناك رقعة متاحة
3. مراجعة سجلات المعاملات للاستدعاءات المريبة للدفع مع عدم تطابق التوقيعات
4. تدقيق الطلبات الأخيرة المحددة كمدفوعة دون تأكيد معالج الدفع المقابل
الضوابط التعويضية (حتى توفر الرقعة):
1. تنفيذ كود مخصص للتحقق من معامل Ds_Signature مقابل المفتاح العام لـ Redsys قبل قبول حالة الدفع
2. إضافة التحقق من جانب الخادم: ربط جميع استدعاءات الدفع مع واجهة برمجة تطبيقات معاملات Redsys قبل تنفيذ الطلب
3. تنفيذ تحديد معدل على نقاط نهاية استدعاء الدفع
4. تفعيل التسجيل والتنبيهات لفشل التحقق من التوقيع
5. طلب التحقق اليدوي للطلبات عالية القيمة قبل التنفيذ
قواعد الكشف:
1. مراقبة طلبات POST لمعالجات استدعاء الدفع مع معاملات Ds_Signature مفقودة أو غير صحيحة
2. التنبيه على الطلبات الانتقالية إلى حالة 'مدفوعة' دون تأكيد واجهة برمجة تطبيقات Redsys المقابلة
3. تتبع طلبات الاستدعاء من نطاقات IP غير Redsys
4. وضع علامة على الطلبات حيث يختلف طابع زمن الاستدعاء بشكل كبير عن وقت إنشاء الطلب
التصحيح:
1. مراقبة مستودع المكون للإصدار 7.0.1 أو أحدث
2. اختبار الرقعة في بيئة التدريج قبل نشر الإنتاج
3. تنفيذ قواعد جدار حماية تطبيقات الويب (WAF) لحظر استدعاءات الدفع المشوهة