The Yoast SEO – Advanced SEO with real-time guidance and built-in AI plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the the `jsonText` block attribute in all versions up to, and including, 27.1.1 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.
The Yoast SEO WordPress plugin versions up to 27.1.1 contains a Stored Cross-Site Scripting (XSS) vulnerability in the jsonText block attribute that allows authenticated contributors to inject malicious scripts. While requiring contributor-level access, this vulnerability poses a significant risk to WordPress sites in Saudi Arabia, particularly those managing content for financial institutions, government agencies, and e-commerce platforms. No patch is currently available, requiring immediate compensating controls.
IMMEDIATE ACTIONS:
1. Audit all WordPress installations running Yoast SEO versions ≤27.1.1 across your organization
2. Review contributor and author user accounts for suspicious activity and recent content modifications
3. Implement strict access controls: restrict contributor role to trusted personnel only; consider demoting unnecessary contributors
4. Enable WordPress user activity logging to detect unauthorized content changes
COMPENSATING CONTROLS (until patch available):
5. Implement Web Application Firewall (WAF) rules to detect and block XSS payloads in block attributes
6. Deploy Content Security Policy (CSP) headers: Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'
7. Use WordPress security plugins (Wordfence, Sucuri) to scan for injected malicious scripts
8. Disable Yoast SEO's JSON block functionality if not essential; use alternative SEO plugins temporarily
9. Implement output encoding on all page rendering: use wp_kses_post() for content display
10. Monitor page source code and database for suspicious script patterns
11. Establish daily automated malware scans of WordPress database and files
12. Require multi-factor authentication for all contributor+ accounts
DETECTION RULES:
- Monitor wp_postmeta table for jsonText attributes containing script tags or event handlers
- Alert on any modifications to posts/pages by contributor accounts outside business hours
- Flag any jsonText values containing: <script>, javascript:, onerror=, onload=, onclick=
- Log all contributor account logins and content modifications
الإجراءات الفورية:
1. تدقيق جميع تثبيتات WordPress التي تعمل بإصدارات Yoast SEO ≤27.1.1 عبر مؤسستك
2. مراجعة حسابات المساهمين والمؤلفين للنشاط المريب والتعديلات الحديثة على المحتوى
3. تطبيق ضوابط وصول صارمة: تقييد دور المساهم للموظفين الموثوقين فقط؛ فكر في خفض المساهمين غير الضروريين
4. تفعيل تسجيل نشاط مستخدمي WordPress لاكتشاف تغييرات المحتوى غير المصرح بها
الضوابط التعويضية (حتى توفر التصحيح):
5. تطبيق قواعد جدار الحماية لتطبيقات الويب (WAF) للكشف عن حقن XSS وحجبها
6. نشر رؤوس سياسة أمان المحتوى (CSP): Content-Security-Policy: default-src 'self'; script-src 'self'
7. استخدام مكونات أمان WordPress (Wordfence, Sucuri) للبحث عن البرامج النصية الضارة المحقونة
8. تعطيل وظيفة كتلة JSON في Yoast SEO إذا لم تكن ضرورية؛ استخدم مكونات SEO بديلة مؤقتاً
9. تطبيق ترميز الإخراج على جميع عمليات عرض الصفحات: استخدم wp_kses_post()
10. مراقبة كود الصفحة وقاعدة البيانات للأنماط المريبة
11. إنشاء فحوصات برامج ضارة آلية يومية
12. طلب المصادقة متعددة العوامل لجميع حسابات المساهمين+