The JetEngine plugin for WordPress is vulnerable to SQL Injection via the Custom Content Type (CCT) REST API search endpoint in all versions up to, and including, 3.8.6.1. This is due to the `_cct_search` parameter being interpolated directly into a SQL query string via `sprintf()` without sanitization or use of `$wpdb->prepare()`. WordPress REST API's `wp_unslash()` call on `$_GET` strips the `wp_magic_quotes()` protection, allowing single-quote-based injection. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. The Custom Content Types module must be enabled with at least one CCT configured with a public REST GET endpoint for exploitation.
CVE-2026-4352 is a critical SQL injection vulnerability in the JetEngine WordPress plugin (versions ≤3.8.6.1) affecting the Custom Content Type REST API search endpoint. Unauthenticated attackers can inject SQL queries to extract sensitive database information without authentication. This vulnerability poses significant risk to Saudi organizations using WordPress with JetEngine for content management, particularly those handling customer data or financial information.
IMMEDIATE ACTIONS:
1. Disable the JetEngine plugin immediately if not critical to operations
2. If Custom Content Types (CCT) module is enabled, disable it until patching is available
3. Restrict REST API access to authenticated users only via .htaccess or WAF rules
4. Implement IP whitelisting for REST API endpoints if possible
DETECTION & MONITORING:
5. Monitor WordPress logs for REST API requests to /wp-json/*/cct-search endpoints
6. Search for SQL injection patterns in query strings: single quotes, UNION, SELECT, OR 1=1
7. Review database access logs for unusual queries from web server user
8. Check for suspicious database exports or data exfiltration
COMPENSATING CONTROLS:
9. Implement WAF rules to block SQL injection patterns in REST API requests
10. Use WordPress security plugins (Wordfence, Sucuri) to block malicious requests
11. Apply input validation at WAF level for _cct_search parameter
12. Enable WordPress REST API authentication requirements
13. Regularly audit database for unauthorized access or modifications
PATCHING:
14. Monitor JetEngine GitHub/official channels for security patch release
15. Plan immediate update deployment once patch is available
16. Test patch in staging environment before production deployment
الإجراءات الفورية:
1. تعطيل مكون JetEngine فوراً إذا لم يكن حرجاً للعمليات
2. إذا كانت وحدة Custom Content Types (CCT) مفعلة، قم بتعطيلها حتى يتوفر التصحيح
3. تقييد وصول REST API للمستخدمين المصرح لهم فقط عبر .htaccess أو قواعد WAF
4. تطبيق القائمة البيضاء للعناوين IP لنقاط نهاية REST API إن أمكن
الكشف والمراقبة:
5. مراقبة سجلات WordPress للطلبات إلى /wp-json/*/cct-search
6. البحث عن أنماط حقن SQL: علامات اقتباس مفردة، UNION، SELECT، OR 1=1
7. مراجعة سجلات وصول قاعدة البيانات للاستعلامات غير العادية
8. التحقق من التصدير غير المصرح به للبيانات
الضوابط البديلة:
9. تطبيق قواعد WAF لحجب أنماط حقن SQL في طلبات REST API
10. استخدام مكونات أمان WordPress (Wordfence, Sucuri)
11. تطبيق التحقق من الإدخال على مستوى WAF
12. تفعيل متطلبات المصادقة لـ REST API
13. تدقيق منتظم لقاعدة البيانات للوصول غير المصرح به
التصحيح:
14. مراقبة قنوات JetEngine الرسمية لإصدار التصحيح الأمني
15. التخطيط للتحديث الفوري عند توفر التصحيح
16. اختبار التصحيح في بيئة الاختبار قبل الإنتاج