The Advanced Contact form 7 DB plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 2.0.9. This is due to missing or incorrect nonce validation on the 'vsz_cf7_save_setting_callback' function. This makes it possible for unauthenticated attackers to delete form entry via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.
The Advanced Contact Form 7 DB WordPress plugin (versions ≤2.0.9) contains a Cross-Site Request Forgery (CSRF) vulnerability in the settings callback function due to missing nonce validation. Unauthenticated attackers can exploit this to delete form entries by tricking administrators into clicking malicious links. With no patch currently available and no active exploit in the wild, this presents a medium-risk threat requiring immediate compensating controls.
IMMEDIATE ACTIONS:
1. Audit all WordPress installations for Advanced Contact Form 7 DB plugin presence and version (≤2.0.9)
2. Disable the plugin immediately if not critical to operations, or restrict admin access to trusted networks only
3. Review form entry logs for unauthorized deletions in the past 30 days
4. Notify administrators to avoid clicking suspicious links from untrusted sources
COMPENSATING CONTROLS (until patch available):
5. Implement Web Application Firewall (WAF) rules to detect CSRF patterns targeting /wp-admin/admin-ajax.php with vsz_cf7_save_setting_callback parameter
6. Enable WordPress security plugins (Wordfence, Sucuri) with CSRF protection modules
7. Implement Content Security Policy (CSP) headers to restrict cross-origin requests
8. Configure WordPress to require re-authentication for sensitive admin actions
9. Enable detailed audit logging for form entry modifications
10. Restrict wp-admin access by IP whitelist to known administrator locations
DETECTION RULES:
- Monitor POST requests to /wp-admin/admin-ajax.php containing 'vsz_cf7_save_setting_callback' without valid nonce tokens
- Alert on form entry deletion events without corresponding admin user session
- Track referrer headers from external domains accessing admin functions
الإجراءات الفورية:
1. تدقيق جميع تثبيتات WordPress للتحقق من وجود مكون Advanced Contact Form 7 DB والإصدار (≤2.0.9)
2. تعطيل المكون فوراً إذا لم يكن حرجاً للعمليات، أو تقييد وصول المسؤول للشبكات الموثوقة فقط
3. مراجعة سجلات إدخالات النموذج للحذف غير المصرح به في آخر 30 يوماً
4. إخطار المسؤولين بتجنب النقر على الروابط المريبة من مصادر غير موثوقة
الضوابط التعويضية (حتى توفر التصحيح):
5. تنفيذ قواعد جدار حماية تطبيقات الويب (WAF) للكشف عن أنماط CSRF التي تستهدف /wp-admin/admin-ajax.php مع معامل vsz_cf7_save_setting_callback
6. تفعيل مكونات أمان WordPress (Wordfence, Sucuri) مع وحدات حماية CSRF
7. تنفيذ رؤوس Content Security Policy (CSP) لتقييد الطلبات عبر الأصول
8. تكوين WordPress لطلب إعادة المصادقة للإجراءات الحساسة للمسؤول
9. تفعيل تسجيل التدقيق التفصيلي لتعديلات إدخالات النموذج
10. تقييد وصول wp-admin حسب قائمة بيضاء IP للمواقع المعروفة للمسؤول
قواعد الكشف:
- مراقبة طلبات POST إلى /wp-admin/admin-ajax.php التي تحتوي على 'vsz_cf7_save_setting_callback' بدون رموز nonce صحيحة
- تنبيه أحداث حذف إدخالات النموذج بدون جلسة مستخدم مسؤول مقابلة
- تتبع رؤوس المحيل من النطاقات الخارجية التي تصل إلى وظائف المسؤول