شعار منصة فورجوالي الرسمي - خدمات الرسائل والواتساب والاستضافة

ثغرة حرجة في Paid Memberships Pro تُعطّل مدفوعات Stripe على موقعك

ثغرة في إضافة Paid Memberships Pro تسمح لأي مستخدم مسجّل بالتلاعب بإعدادات Stripe Webhook وتعطيل المدفوعات والاشتراكات على موقع ووردبريس.

📅 استضافة المواقع

ثغرة في إضافة Paid Memberships Pro تسمح لأي مستخدم مسجّل بالتلاعب بإعدادات Stripe Webhook وتعطيل المدفوعات والاشتراكات على موقع ووردبريس.

اكتُشفت ثغرة أمنية عالية الخطورة في إضافة Paid Memberships Pro الشهيرة لـ WordPress تطال جميع الإصدارات حتى 3.6.5، وتسمح لأي مستخدم مسجّل بصلاحية Subscriber فأعلى بإنشاء أو حذف أو إعادة بناء Webhook الخاص بـ Stripe. يؤدي استغلال الثغرة إلى تعطيل كامل لعمليات الدفع، تجديد الاشتراكات، ومعالجة المدفوعات الفاشلة. يجب على مُلّاك المواقع الترقية فوراً إلى أحدث إصدار مُصحَّح.

⚠️ عالية · CVSS 7.1CVE-2026-4100 · CWE-862

التفاصيل التقنية

تحمل الثغرة المعرّف CVE-2026-4100 وتُصنَّف ضمن فئة CWE-862: Missing Authorization، أي غياب التحقق من الصلاحيات قبل تنفيذ عمليات حساسة.

تكمن المشكلة في ثلاثة معالجات AJAX داخل الإضافة لا تقوم بفحص صلاحيات المستخدم قبل تنفيذ عملياتها، وهي:

wp_ajax_pmpro_stripe_create_webhook

wp_ajax_pmpro_stripe_delete_webhook

wp_ajax_pmpro_stripe_rebuild_webhook

بما أن هذه المعالجات مرتبطة بـ wp_ajax_ (وليس wp_ajax_nopriv_)، فإنها متاحة لأي مستخدم مسجّل الدخول. لكن بسبب عدم استخدام دوال مثل current_user_can() للتحقق من صلاحيات الإدارة، يستطيع أي عضو بمستوى Subscriber أو أعلى استدعاءها وإحداث تغييرات على تكامل Stripe Webhook للموقع.

Webhook في Stripe هو قناة الاتصال التي يُبلغ عبرها Stripe موقعك بأحداث الدفع (نجاح الدفع، فشل الدفع، إلغاء الاشتراك، التجديد). العبث بهذه القناة يعني فقدان السيرفر لأي معلومات قادمة من بوابة الدفع.

CVE-2026-4100 - WordPress - رسم توضيحي أمني ثنائي الأبعاد
CVE-2026-4100 · WordPress · 2D Explainer

درجة الخطورة

حصلت الثغرة على تقييم CVSS 7.1 ضمن نطاق HIGH. ورغم أنها تتطلب حساباً مسجّلاً، إلا أن المواقع التي تعتمد نموذج العضويات (وهو الاستخدام الأساسي للإضافة) تسمح افتراضياً بالتسجيل الذاتي للزوار بمستوى Subscriber، مما يجعل شرط المصادقة شبه معدوم عملياً.

  • السرية: تأثير محدود.
  • السلامة: تأثير مرتفع على تكامل إعدادات الدفع.
  • التوفر: تأثير مرتفع، إذ يؤدي الاستغلال إلى توقف معالجة المدفوعات كلياً.

لم تُدرج الثغرة ضمن قائمة CISA KEV حتى الآن.

هل تم استغلالها؟

وفقاً للمراجع المتاحة من Wordfence ومستودع المطوّر على GitHub، لا توجد حتى تاريخ النشر تقارير عن استغلال فعلي في البرية (in-the-wild). لكن طبيعة الثغرة تجعلها سهلة الاستغلال نسبياً عبر طلب AJAX بسيط، خاصة وأن المواقع العاملة بإضافات العضويات عادةً ما تفتح التسجيل للزوار. التأثير المباشر على الإيرادات يجعلها هدفاً جذاباً لهجمات التخريب أو الابتزاز.

الحل والإصلاح

الحل الرسمي هو الترقية إلى الإصدار المُصحَّح من Paid Memberships Pro (ما بعد 3.6.5). اتبع الخطوات التالية على سيرفر الاستضافة:

1) تحقق من إصدار الإضافة المثبّت حالياً عبر WP-CLI:

wp plugin get paid-memberships-pro --field=version

2) قم بتحديث الإضافة إلى أحدث إصدار:

wp plugin update paid-memberships-pro

3) إن كنت تدير عدة مواقع على نفس السيرفر، يمكنك تحديثها دفعة واحدة:

for site in /var/www/*/; do wp --path="$site" plugin update paid-memberships-pro --allow-root; done

4) بعد التحديث، تحقق من صحة Stripe Webhook في لوحة الإضافة عبر: Memberships → Payment Gateway & SSL، وتأكد من وجود Webhook صحيح مسجّل في لوحة Stripe.

5) كإجراء تخفيفي مؤقت إذا تعذّر التحديث الفوري، يمكنك تقييد تسجيل المستخدمين الجدد:

wp option update users_can_register 0

6) راجع سجلات السيرفر بحثاً عن طلبات مشبوهة على admin-ajax.php تستهدف المعالجات المذكورة:

grep "admin-ajax.php" /var/log/nginx/access.log | grep -E "pmpro_stripe_(create|delete|rebuild)_webhook"

7) تحقق من Webhooks المسجّلة في Stripe Dashboard وتأكد من عدم وجود إدخالات غير معروفة، واحذف أي Webhook مشبوه.

الخلاصة والتوصية

تمثّل هذه الثغرة تذكيراً بأهمية مبدأ التحقق من الصلاحيات في كل نقطة نهاية AJAX داخل إضافات WordPress، خاصة تلك التي تتعامل مع بوابات الدفع. نوصي جميع مديري المواقع الذين يستخدمون Paid Memberships Pro بتنفيذ التحديث فوراً، ومراجعة إعدادات Stripe Webhook للتأكد من سلامتها. كما نشدّد على أهمية اعتماد نظام مراقبة يومي لتحديثات الإضافات، واستخدام جدار حماية تطبيقات الويب (WAF) مثل Wordfence أو ما يوفّره مزوّد الاستضافة للحد من استغلال الثغرات قبل وصول الرقعة الرسمية.

📎 ملفات التحميل

📄 English Security Advisory – تقرير احترافي للمختصين

📝 Technical README (Markdown) – وثائق تقنية للفرق الداخلية