Powie's WHOIS Domain Check 0.9.31 contains a persistent cross-site scripting vulnerability that allows authenticated attackers to inject arbitrary JavaScript by exploiting unsanitized input fields in plugin settings. Attackers can submit malicious payloads through textarea and input elements in the pwhois_settings.php configuration page to execute JavaScript in the admin context and escalate privileges.
CVE-2020-37225 is a persistent XSS vulnerability in Powie's WHOIS Domain Check plugin (v0.9.31) affecting WordPress installations. Authenticated attackers can inject malicious JavaScript through unsanitized configuration fields to execute code in admin context and escalate privileges. With no available patch and no public exploit, the risk remains moderate but requires immediate mitigation for organizations using this plugin.
Immediate Actions:
1. Audit all WordPress installations for Powie's WHOIS Domain Check plugin v0.9.31 presence
2. Disable the plugin immediately if found: wp-admin > Plugins > Deactivate
3. Review admin audit logs for suspicious configuration changes or JavaScript injections
4. Check for unauthorized admin accounts created via XSS exploitation
Patching Guidance:
1. Remove the vulnerable plugin entirely (Delete option in WordPress)
2. Search for alternative WHOIS lookup plugins with active security maintenance
3. If plugin functionality is critical, implement compensating controls
Compensating Controls (if plugin removal not feasible):
1. Restrict plugin access via file permissions: chmod 640 on pwhois_settings.php
2. Implement Web Application Firewall (WAF) rules to block JavaScript payloads in POST requests to pwhois_settings.php
3. Enforce strict Content Security Policy (CSP) headers: Content-Security-Policy: script-src 'self'
4. Limit admin access via IP whitelisting and VPN requirements
5. Implement database activity monitoring for unauthorized privilege changes
Detection Rules:
1. Monitor wp_usermeta table for role changes to 'administrator'
2. Alert on POST requests to /wp-admin/admin.php?page=pwhois_settings containing script tags or event handlers
3. Log all plugin configuration changes with timestamp and user ID
4. Search WordPress database for stored XSS payloads: SELECT * FROM wp_options WHERE option_value LIKE '%<script%' OR option_value LIKE '%javascript:%'
الإجراءات الفورية:
1. تدقيق جميع تثبيتات WordPress للتحقق من وجود إضافة Powie's WHOIS Domain Check الإصدار 0.9.31
2. تعطيل الإضافة فورًا إن وجدت: wp-admin > Plugins > Deactivate
3. مراجعة سجلات تدقيق المسؤول للتغييرات المريبة في التكوين أو حقن JavaScript
4. التحقق من حسابات المسؤول غير المصرح بها المنشأة عبر استغلال XSS
إرشادات التصحيح:
1. إزالة الإضافة الضعيفة بالكامل (خيار الحذف في WordPress)
2. البحث عن إضافات WHOIS بديلة مع صيانة أمان نشطة
3. إذا كانت وظيفة الإضافة حرجة، تنفيذ ضوابط تعويضية
الضوابط التعويضية (إذا لم يكن من الممكن إزالة الإضافة):
1. تقييد وصول الإضافة عبر أذونات الملفات: chmod 640 على pwhois_settings.php
2. تنفيذ قواعد جدار حماية تطبيقات الويب (WAF) لحظر حمولات JavaScript في طلبات POST إلى pwhois_settings.php
3. فرض رؤوس سياسة أمان المحتوى الصارمة: Content-Security-Policy: script-src 'self'
4. تقييد وصول المسؤول عبر القائمة البيضاء للعناوين وتطلبات VPN
5. تنفيذ مراقبة نشاط قاعدة البيانات للتغييرات غير المصرح بها في الامتيازات
قواعد الكشف:
1. مراقبة جدول wp_usermeta للتغييرات في الدور إلى 'administrator'
2. التنبيه على طلبات POST إلى /wp-admin/admin.php?page=pwhois_settings تحتوي على علامات script أو معالجات أحداث
3. تسجيل جميع تغييرات تكوين الإضافة مع الطابع الزمني ومعرف المستخدم
4. البحث في قاعدة بيانات WordPress عن حمولات XSS المخزنة: SELECT * FROM wp_options WHERE option_value LIKE '%<script%' OR option_value LIKE '%javascript:%'