The New User Approve plugin for WordPress is vulnerable to unauthorized access of data and modification of data due to a missing capability check on multiple REST API endpoints in all versions up to, and including, 3.2.2. This makes it possible for unauthenticated attackers to approve or deny user accounts, retrieve sensitive user information including emails and roles, and force logout of privileged users.
The New User Approve WordPress plugin (versions ≤3.2.2) contains a critical authorization bypass in REST API endpoints, allowing unauthenticated attackers to approve/deny user registrations, access sensitive user data, and force logout of administrators. This vulnerability affects any WordPress installation using this plugin without proper capability checks, posing significant risks to user account management and data confidentiality. Immediate patching to version 3.2.3 or later is essential.
IMMEDIATE ACTIONS:
1. Identify all WordPress installations using New User Approve plugin via plugin inventory audit
2. Disable the plugin immediately if version ≤3.2.2 is detected
3. Review REST API access logs for suspicious unauthenticated requests to /wp-json/new-user-approve/* endpoints
PATCHING:
1. Update New User Approve plugin to version 3.2.3 or later immediately
2. Ensure WordPress core and all other plugins are current
3. Test updates in staging environment before production deployment
COMPENSATING CONTROLS (if immediate patching delayed):
1. Implement Web Application Firewall (WAF) rules blocking unauthenticated REST API requests to /wp-json/new-user-approve/* endpoints
2. Restrict REST API access via .htaccess or nginx configuration to authenticated users only
3. Disable REST API entirely if not required: add 'define("REST_API_ENABLED", false);' to wp-config.php
4. Implement IP whitelisting for REST API endpoints
DETECTION:
1. Monitor WordPress access logs for POST/GET requests to /wp-json/new-user-approve/v1/users/approve or /wp-json/new-user-approve/v1/users/deny from unauthenticated sources
2. Alert on unusual user approval activities outside business hours
3. Track failed authentication attempts followed by REST API calls
4. Monitor for bulk user data retrieval via /wp-json/new-user-approve/v1/users endpoints
VERIFICATION:
1. Confirm plugin version post-update
2. Test REST API endpoints with unauthenticated requests to verify access is denied
3. Review user approval logs for unauthorized changes during vulnerability window
الإجراءات الفورية:
1. تحديد جميع تثبيتات ووردبريس التي تستخدم مكون New User Approve من خلال تدقيق جرد المكونات
2. تعطيل المكون فورًا إذا تم اكتشاف الإصدار ≤3.2.2
3. مراجعة سجلات وصول REST API للطلبات المريبة غير المصرح لها إلى نقاط نهاية /wp-json/new-user-approve/*
التصحيح:
1. تحديث مكون New User Approve إلى الإصدار 3.2.3 أو أحدث فورًا
2. التأكد من أن نواة ووردبريس وجميع المكونات الأخرى محدثة
3. اختبار التحديثات في بيئة التجريب قبل نشرها في الإنتاج
الضوابط البديلة (إذا تأخر التصحيح الفوري):
1. تنفيذ قواعد جدار حماية تطبيقات الويب (WAF) لحظر طلبات REST API غير المصرح لها إلى نقاط نهاية /wp-json/new-user-approve/*
2. تقييد وصول REST API عبر .htaccess أو إعدادات nginx للمستخدمين المصرح لهم فقط
3. تعطيل REST API بالكامل إذا لم يكن مطلوبًا: أضف 'define("REST_API_ENABLED", false);' إلى wp-config.php
4. تنفيذ القائمة البيضاء للعناوين IP لنقاط نهاية REST API
الكشف:
1. مراقبة سجلات وصول ووردبريس للطلبات POST/GET إلى /wp-json/new-user-approve/v1/users/approve أو /wp-json/new-user-approve/v1/users/deny من مصادر غير مصرح لها
2. تنبيه على أنشطة الموافقة على المستخدمين غير العادية خارج ساعات العمل
3. تتبع محاولات المصادقة الفاشلة متبوعة باستدعاءات REST API
4. مراقبة استرجاع بيانات المستخدم بكميات كبيرة عبر نقاط نهاية /wp-json/new-user-approve/v1/users
التحقق:
1. تأكيد إصدار المكون بعد التحديث
2. اختبار نقاط نهاية REST API مع طلبات غير مصرح لها للتحقق من رفض الوصول
3. مراجعة سجلات الموافقة على المستخدمين للتغييرات غير المصرح لها أثناء نافذة الثغرة