ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
إضافة Registration Form for WooCommerce لبرنامج WordPress عرضة لثغرة تصعيد الصلاحيات بسبب فحص مفقود لقائمة السماح في الدالة FormHandler::validate_checkout_fields() في الإصدارات حتى 1.1.4 وما قبلها. يتحقق مسار التسجيل في "حسابي" (validate_fields()) من قيمة 'tgwcfb/user-roles' المرسلة مقابل الأدوار المسموح بها المحددة في النموذج، ولكن مسار التسجيل عند إتمام الدفع (validate_checkout_fields() المرتبط بـ woocommerce_after_checkout_validation) يخزن قيمة $_POST['user_roles'] الخام في $this->valid_data دون أي تطبيق لقائمة السماح، وتدفع الدالة add_user_data() لاحقًا تلك القيمة إلى woocommerce_new_customer_data كدور للحساب الجديد. يتيح ذلك للمهاجمين دون مصادقة تصعيد صلاحياتهم إلى مسؤول (Administrator) عن طريق إرسال معامل user_roles=administrator عند إنشاء حساب أثناء عملية إتمام الدفع، مما يؤدي إلى الاستيلاء الكامل على الموقع.
المعالجة
المراجع
- مرجعhttps://www.wordfence.com/threat-intel/vulnerabilities/id/714d10b0-526c-4347-a369-85fc32ef3478?source=cve
- مرجعhttps://plugins.trac.wordpress.org/browser/registration-form-for-woocommerce/tags/1.1.3/includes/FormHandler.php#L354
- مرجعhttps://plugins.trac.wordpress.org/browser/registration-form-for-woocommerce/tags/1.1.3/includes/FormHandler.php#L407
- مرجعhttps://plugins.trac.wordpress.org/changeset?old_path=%2Fregistration-form-for-woocommerce%2Ftags%2F1.1.4&new_path=%2Fregistration-form-for-woocommerce%2Ftags%2F1.1.5