The Hr Press Lite plugin for WordPress is vulnerable to unauthorized access of sensitive employee data due to a missing capability check on the `hrp-fetch-employees` AJAX action in all versions up to, and including, 1.0.2. This makes it possible for authenticated attackers, with Subscriber-level access and above, to retrieve sensitive employee information including names, email addresses, phone numbers, salary/pay rates, employment dates, and employment status.
The Hr Press Lite WordPress plugin (versions ≤1.0.2) contains a critical authorization bypass vulnerability allowing authenticated subscribers to access sensitive employee data via an unprotected AJAX endpoint. This vulnerability exposes personally identifiable information (PII) and financial data of employees, posing significant risks to Saudi organizations using this plugin. No patch is currently available, requiring immediate mitigation through alternative controls.
IMMEDIATE ACTIONS:
1. Disable the Hr Press Lite plugin immediately until patch is available
2. Audit WordPress user accounts with Subscriber role and above for unauthorized access
3. Review AJAX request logs for hrp-fetch-employees endpoint access patterns
4. Notify affected employees of potential data exposure
COMPENSATING CONTROLS:
1. Implement Web Application Firewall (WAF) rules to block requests to /wp-admin/admin-ajax.php?action=hrp-fetch-employees
2. Restrict WordPress user roles: remove unnecessary Subscriber accounts, audit Editor/Author permissions
3. Implement IP whitelisting for WordPress admin access
4. Enable WordPress security plugins (Wordfence, Sucuri) with AJAX monitoring
5. Apply database-level access controls to employee data tables
DETECTION RULES:
1. Monitor for POST requests to admin-ajax.php with action=hrp-fetch-employees
2. Alert on Subscriber-level user authentication followed by AJAX requests
3. Track database queries accessing employee salary/phone fields
4. Log all AJAX endpoint calls with user role and timestamp
PATCHING STRATEGY:
1. Contact Hr Press Lite developers for security update timeline
2. Prepare migration plan to alternative HR plugins (e.g., WP HR Manager with proper capability checks)
3. Test alternative solutions in staging environment before production deployment
الإجراءات الفورية:
1. تعطيل مكون Hr Press Lite فوراً حتى توفر التصحيح
2. تدقيق حسابات مستخدمي WordPress برمز المشترك وما فوقه للوصول غير المصرح
3. مراجعة سجلات طلبات AJAX لأنماط الوصول إلى نقطة hrp-fetch-employees
4. إخطار الموظفين المتأثرين بالتعرض المحتمل للبيانات
الضوابط البديلة:
1. تنفيذ قواعد جدار حماية تطبيقات الويب لحجب طلبات /wp-admin/admin-ajax.php?action=hrp-fetch-employees
2. تقييد أدوار مستخدمي WordPress: إزالة حسابات المشترك غير الضرورية، تدقيق أذونات المحرر/المؤلف
3. تنفيذ قائمة بيضاء IP لوصول WordPress الإداري
4. تفعيل مكونات أمان WordPress (Wordfence, Sucuri) مع مراقبة AJAX
5. تطبيق ضوابط الوصول على مستوى قاعدة البيانات لجداول بيانات الموظفين
قواعد الكشف:
1. مراقبة طلبات POST إلى admin-ajax.php مع action=hrp-fetch-employees
2. التنبيه على مصادقة مستخدم المشترك متبوعة بطلبات AJAX
3. تتبع استعلامات قاعدة البيانات التي تصل إلى حقول الراتب والهاتف
4. تسجيل جميع استدعاءات نقطة AJAX مع دور المستخدم والطابع الزمني
استراتيجية التصحيح:
1. الاتصال بمطوري Hr Press Lite لجدول زمني لتحديث الأمان
2. تحضير خطة الترحيل إلى مكونات HR بديلة (مثل WP HR Manager مع فحوصات الصلاحيات الصحيحة)
3. اختبار الحلول البديلة في بيئة التدريج قبل نشر الإنتاج