Concrete CMS 9 before 9.5.0 is vulnerable to Cross Site Request Forgery (CSRF) at concrete/controllers/dialog/page/bulk/cache. The Concrete CMS security team gave this vulnerability a CVSS v.4.0 score of 2.3 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N. Thanks Yonatan Drori (Tenzai) for reporting.
Concrete CMS 9 versions before 9.5.0 contain a Cross-Site Request Forgery (CSRF) vulnerability in the page bulk cache dialog controller that could allow attackers to perform unauthorized actions on behalf of authenticated users. While the CVSS v4.0 score is relatively low (2.3), the vulnerability requires user interaction and specific conditions. Organizations using Concrete CMS for content management should prioritize upgrading to version 9.5.0 or later when available.
Immediate Actions:
1. Identify all instances of Concrete CMS 9 in your environment and document their versions
2. Restrict access to the /concrete/controllers/dialog/page/bulk/cache endpoint using Web Application Firewall (WAF) rules
3. Implement CSRF token validation at the application level if not already present
4. Review access logs for suspicious bulk cache operations
Patching Guidance:
1. Upgrade to Concrete CMS 9.5.0 or later when released
2. Subscribe to Concrete CMS security advisories for patch availability notifications
3. Test patches in a staging environment before production deployment
Compensating Controls:
1. Implement SameSite cookie attributes (Strict or Lax) for session cookies
2. Deploy Content Security Policy (CSP) headers to prevent cross-origin requests
3. Enable request origin validation and referer header checking
4. Implement rate limiting on cache-related endpoints
5. Monitor for unusual bulk cache operations in application logs
Detection Rules:
1. Alert on POST requests to /concrete/controllers/dialog/page/bulk/cache from external origins
2. Monitor for cache operations initiated by non-administrative users
3. Track failed CSRF token validations in application logs
الإجراءات الفورية:
1. حدد جميع نسخ Concrete CMS 9 في بيئتك وقم بتوثيق إصداراتها
2. قيد الوصول إلى نقطة النهاية /concrete/controllers/dialog/page/bulk/cache باستخدام قواعد جدار الحماية لتطبيقات الويب
3. طبق التحقق من رموز CSRF على مستوى التطبيق إن لم يكن موجوداً بالفعل
4. راجع سجلات الوصول للعمليات المريبة للتخزين المؤقت الجماعي
إرشادات التصحيح:
1. قم بالترقية إلى Concrete CMS 9.5.0 أو أحدث عند إصداره
2. اشترك في تنبيهات أمان Concrete CMS لتلقي إشعارات توفر التصحيحات
3. اختبر التصحيحات في بيئة التجريب قبل نشرها في الإنتاج
الضوابط البديلة:
1. طبق سمات ملفات تعريف الارتباط SameSite (Strict أو Lax) لملفات تعريف جلسات العمل
2. نشر رؤوس سياسة أمان المحتوى (CSP) لمنع الطلبات عبر الأصول
3. فعّل التحقق من أصل الطلب والتحقق من رأس المرجع
4. طبق تحديد معدل على نقاط نهاية ذات صلة بالتخزين المؤقت
5. راقب العمليات غير العادية للتخزين المؤقت في سجلات التطبيق
قواعد الكشف:
1. تنبيه على طلبات POST إلى /concrete/controllers/dialog/page/bulk/cache من أصول خارجية
2. مراقبة عمليات التخزين المؤقت التي يبدأها مستخدمون غير إداريين
3. تتبع فشل التحقق من رموز CSRF في سجلات التطبيق