The MetForm Pro plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the Quiz feature in all versions up to, and including, 3.9.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
MetForm Pro WordPress plugin versions up to 3.9.6 contain a Stored Cross-Site Scripting (XSS) vulnerability in the Quiz feature that allows unauthenticated attackers to inject malicious scripts. These scripts execute when users access affected pages, potentially compromising user sessions, stealing credentials, or distributing malware. This vulnerability poses significant risk to Saudi organizations using WordPress with MetForm Pro for customer engagement and data collection.
IMMEDIATE ACTIONS:
1. Identify all WordPress installations using MetForm Pro plugin via admin dashboard or WP-CLI: wp plugin list | grep metform
2. Disable MetForm Pro Quiz feature immediately if patch unavailable: Settings > MetForm > Disable Quiz Module
3. Review access logs for suspicious quiz submissions containing script tags or encoded payloads
PATCHING:
1. Update MetForm Pro to version 3.9.7 or later immediately via WordPress admin dashboard
2. Verify update completion: wp plugin list --field=name,version | grep metform
3. Clear all WordPress caches after patching
COMPENSATING CONTROLS (if immediate patching impossible):
1. Implement Web Application Firewall (WAF) rules blocking script injection patterns in quiz submissions
2. Add Content Security Policy (CSP) header: Content-Security-Policy: script-src 'self'; object-src 'none'
3. Enable WordPress security plugin (Wordfence/Sucuri) with XSS protection rules
4. Restrict quiz feature access to authenticated users only via .htaccess or plugin settings
DETECTION:
1. Monitor database for quiz submissions containing: <script>, javascript:, onerror=, onload=, eval(
2. Check WordPress error logs for XSS-related warnings
3. Implement SIEM rules for POST requests to quiz endpoints with encoded payloads
4. Audit user roles with quiz creation/editing permissions
الإجراءات الفورية:
1. تحديد جميع تثبيتات WordPress التي تستخدم مكون MetForm Pro عبر لوحة التحكم أو WP-CLI
2. تعطيل ميزة MetForm Pro Quiz فوراً إذا لم يكن التصحيح متاحاً
3. مراجعة سجلات الوصول للبحث عن عمليات إرسال مريبة تحتوي على علامات البرامج النصية
التصحيح:
1. تحديث MetForm Pro إلى الإصدار 3.9.7 أو أحدث فوراً عبر لوحة تحكم WordPress
2. التحقق من اكتمال التحديث
3. مسح جميع ذاكرات التخزين المؤقت في WordPress بعد التصحيح
الضوابط البديلة:
1. تنفيذ قواعد جدار حماية تطبيقات الويب لحجب أنماط حقن البرامج النصية
2. إضافة رأس سياسة أمان المحتوى
3. تفعيل مكون أمان WordPress مع قواعد حماية XSS
4. تقييد وصول ميزة الاختبار للمستخدمين المصرح لهم فقط
الكشف:
1. مراقبة قاعدة البيانات للبحث عن عمليات إرسال تحتوي على برامج نصية ضارة
2. فحص سجلات أخطاء WordPress
3. تنفيذ قواعد SIEM لطلبات POST المريبة
4. تدقيق أدوار المستخدمين بصلاحيات إنشاء الاختبارات