The WP Store Locator plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'wpsl_address' post meta value in versions up to, and including, 2.2.261 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page and opens an injected map marker info window.
CVE-2026-3361 is a Stored Cross-Site Scripting (XSS) vulnerability in WP Store Locator plugin affecting WordPress installations up to version 2.2.261. Authenticated contributors can inject malicious scripts via the 'wpsl_address' field that execute when users view map markers. While currently unpatched, the attack requires contributor-level access, limiting immediate risk but posing significant threats to multi-user WordPress deployments common in Saudi organizations.
IMMEDIATE ACTIONS:
1. Audit all WordPress installations using WP Store Locator plugin — identify version numbers and deployment scope
2. Review contributor access logs for suspicious 'wpsl_address' modifications in the past 90 days
3. Implement strict access controls: restrict contributor role to trusted personnel only; consider demoting unnecessary contributors
4. Enable WordPress security logging and monitor for XSS-related alerts
COMPENSATING CONTROLS (until patch available):
5. Disable WP Store Locator plugin if not actively used; if required, restrict access to administrator-only
6. Implement Web Application Firewall (WAF) rules to detect/block XSS payloads in 'wpsl_address' parameters
7. Apply Content Security Policy (CSP) headers to prevent inline script execution
8. Use WordPress security plugins (Wordfence, Sucuri) with XSS detection capabilities
9. Sanitize database: search for suspicious scripts in wp_postmeta table where meta_key='wpsl_address'
DETECTION RULES:
10. Monitor for POST requests containing script tags, event handlers (onclick, onerror), or encoded payloads in wpsl_address parameters
11. Alert on contributor role modifications or privilege escalations
12. Track changes to wp_postmeta entries with meta_key='wpsl_address' for unusual patterns
الإجراءات الفورية:
1. تدقيق جميع تثبيتات WordPress التي تستخدم مكون WP Store Locator — تحديد أرقام الإصدارات ونطاق النشر
2. مراجعة سجلات وصول المساهمين للتعديلات المريبة على 'wpsl_address' في آخر 90 يوماً
3. تنفيذ ضوابط وصول صارمة: تقييد دور المساهم للموظفين الموثوقين فقط؛ النظر في خفض المساهمين غير الضروريين
4. تفعيل تسجيل أمان WordPress ومراقبة التنبيهات المتعلقة بـ XSS
الضوابط البديلة (حتى توفر التصحيح):
5. تعطيل مكون WP Store Locator إذا لم يكن قيد الاستخدام النشط؛ إذا لزم الأمر، قصر الوصول على المسؤولين فقط
6. تنفيذ قواعد جدار حماية تطبيقات الويب (WAF) للكشف عن حمولات XSS وحجبها في معاملات 'wpsl_address'
7. تطبيق رؤوس سياسة أمان المحتوى (CSP) لمنع تنفيذ البرامج النصية المضمنة
8. استخدام مكونات أمان WordPress (Wordfence, Sucuri) مع قدرات الكشف عن XSS
9. تطهير قاعدة البيانات: البحث عن برامج نصية مريبة في جدول wp_postmeta حيث meta_key='wpsl_address'
قواعد الكشف:
10. مراقبة طلبات POST التي تحتوي على علامات البرامج النصية أو معالجات الأحداث أو الحمولات المشفرة في معاملات wpsl_address
11. التنبيه على تعديلات دور المساهم أو تصعيد الامتيازات
12. تتبع التغييرات على إدخالات wp_postmeta مع meta_key='wpsl_address' للأنماط غير العادية