ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
إضافة Rox Appointment Booking – Appointment Booking Scheduling Solution المخصصة لـ WordPress عرضة لتصعيد الصلاحيات عبر التعيين الشامل في جميع الإصدارات حتى 1.3.1 ضمناً. يرجع ذلك إلى قيام نقطة نهاية REST العامة `\/rox-appointment-booking\/v1\/public\/booking` بتنفيذ تعيين شامل لنصف نص الطلب الخام في صف جديد للعملاء بينما يتضمن `CustomerModel::$fillable` عمود `wp_user_id` الداخلي، مما يسمح لمهاجم دون مصادقة بالاحتفاظ بمعرف مستخدم WordPress عشوائي جنباً إلى جنب مع عنوان بريد إلكتروني يتحكم فيه المهاجم دون أي فحص للصلاحيات. عندما يفتح المسؤول لاحقاً سجل العميل المسمم ويقرر تحديث العميل، يقوم `SaveCustomer::handleRequest()` تمرير `wp_user_id` المخزن وبريد إلكتروني يوفره المهاجم إلى `wp_update_user()` — بنجاح لأن `LinkedAccount::canChange()` يُرجع بلا شروط صح عندما يحمل المستخدم الفاعل صلاحية `edit_users` — وبالتالي الكتابة فوق عنوان البريد الإلكتروني للمسؤول المستهدف وتمكين الاستحواذ الكامل على الحساب عبر طلب إعادة تعيين كلمة مرور WordPress القياسي. يتطلب الاستغلال الناجح فتح المسؤول وحفظ السجل المسمم، ويجب على المهاجم معرفة أو تخمين معرف مستخدم مسؤول صالح (مثل معرف المستخدم الافتراضي 1).
المعالجة
المراجع
- مرجعhttps://downloads.wordpress.org/plugin/rox-appointment-booking.1.3.2.zip
- مرجعhttps://plugins.trac.wordpress.org/browser/rox-appointment-booking/tags/1.3.0/src/Modules/Customer/Data/CustomerModel.php#L38
- مرجعhttps://plugins.trac.wordpress.org/browser/rox-appointment-booking/tags/1.3.0/src/Modules/Customer/REST/SaveCustomer.php#L262
- مرجعhttps://plugins.trac.wordpress.org/browser/rox-appointment-booking/tags/1.3.0/src/Modules/FrontendBookingPanel/REST/BookingConfirm.php#L61
- مرجعhttps://plugins.trac.wordpress.org/browser/rox-appointment-booking/tags/1.3.0/src/Modules/FrontendBookingPanel/Services/CustomerService.php#L74
- مرجعhttps://www.wordfence.com/threat-intel/vulnerabilities/id/2a32f428-fa6e-469b-b004-e80a1029af80?source=cve