The NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar plugin for WordPress is vulnerable to DOM-Based Cross-Site Scripting via the 'nx-preview' POST parameter in all versions up to, and including, 3.2.0. This is due to insufficient input sanitization and output escaping when processing preview data. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute when a user visits a malicious page that auto-submits a form to the vulnerable site.
The NotificationX WordPress plugin (versions ≤3.2.0) contains a DOM-based XSS vulnerability in the 'nx-preview' parameter allowing unauthenticated attackers to inject malicious scripts. This affects e-commerce sites using WooCommerce, particularly those in Saudi Arabia relying on this plugin for sales notifications and GDPR compliance. Immediate patching to version 3.2.1 or later is critical to prevent customer data theft and website defacement.
IMMEDIATE ACTIONS:
1. Update NotificationX plugin to version 3.2.1 or later immediately
2. Audit all WooCommerce sites for plugin presence and current version
3. Review access logs for suspicious 'nx-preview' POST requests (grep for 'nx-preview' in web server logs)
4. Check for indicators of compromise: unauthorized admin accounts, modified plugin files, injected scripts in page source
PATCHING GUIDANCE:
1. Backup WordPress database and files before updating
2. Update through WordPress admin dashboard: Plugins > Installed Plugins > NotificationX > Update
3. Alternatively, download version 3.2.1+ from official WordPress plugin repository
4. Test functionality on staging environment before production deployment
5. Verify plugin version post-update: Plugins > Installed Plugins > confirm version ≥3.2.1
COMPENSATING CONTROLS (if immediate patching delayed):
1. Disable NotificationX plugin temporarily: Plugins > Installed Plugins > Deactivate
2. Implement Web Application Firewall (WAF) rules to block POST requests containing 'nx-preview' parameter
3. Add Content Security Policy (CSP) headers: Content-Security-Policy: script-src 'self'; object-src 'none'
4. Enable WordPress security plugins (Wordfence, Sucuri) with real-time malware scanning
5. Restrict plugin access via .htaccess: deny access to /wp-content/plugins/notificationx/
DETECTION RULES:
1. Monitor for POST requests to wp-admin/admin-ajax.php with 'nx-preview' parameter
2. Alert on script tags or javascript: protocol in POST data
3. Log all plugin file modifications (use File Integrity Monitoring)
4. Track unauthorized admin user creation in WordPress audit logs
5. Implement IDS signatures for DOM-XSS payloads in HTTP requests
الإجراءات الفورية:
1. تحديث مكون NotificationX إلى الإصدار 3.2.1 أو أحدث فوراً
2. تدقيق جميع مواقع WooCommerce للتحقق من وجود المكون والإصدار الحالي
3. مراجعة سجلات الوصول للطلبات المريبة 'nx-preview' POST (البحث في سجلات خادم الويب)
4. التحقق من مؤشرات الاختراق: حسابات المسؤول غير المصرح بها، ملفات المكون المعدلة، النصوص البرمجية المحقونة
إرشادات التصحيح:
1. نسخ احتياطي لقاعدة بيانات WordPress والملفات قبل التحديث
2. التحديث عبر لوحة تحكم WordPress: المكونات > المكونات المثبتة > NotificationX > تحديث
3. بدلاً من ذلك، قم بتنزيل الإصدار 3.2.1+ من مستودع مكونات WordPress الرسمي
4. اختبر الوظائف في بيئة التدريج قبل نشر الإنتاج
5. تحقق من إصدار المكون بعد التحديث: المكونات > المكونات المثبتة > تأكد من الإصدار ≥3.2.1
الضوابط البديلة (إذا تأخر التصحيح الفوري):
1. تعطيل مكون NotificationX مؤقتاً: المكونات > المكونات المثبتة > إلغاء التفعيل
2. تطبيق قواعد جدار حماية تطبيقات الويب (WAF) لحظر طلبات POST التي تحتوي على معامل 'nx-preview'
3. إضافة رؤوس سياسة أمان المحتوى (CSP): Content-Security-Policy: script-src 'self'; object-src 'none'
4. تفعيل مكونات أمان WordPress (Wordfence, Sucuri) مع المسح الفوري للبرامج الضارة
5. تقييد وصول المكون عبر .htaccess: منع الوصول إلى /wp-content/plugins/notificationx/
قواعد الكشف:
1. مراقبة طلبات POST إلى wp-admin/admin-ajax.php مع معامل 'nx-preview'
2. تنبيه على علامات النصوص البرمجية أو بروتوكول javascript في بيانات POST
3. تسجيل جميع تعديلات ملفات المكون (استخدم مراقبة سلامة الملفات)
4. تتبع إنشاء مستخدم مسؤول غير مصرح به في سجلات تدقيق WordPress
5. تطبيق توقيعات IDS لحمولات DOM-XSS في طلبات HTTP