CVE-2024-8291
📋 TL;DR
This vulnerability allows a rogue administrator in Concrete CMS to inject malicious JavaScript code through the Image Editor Background Color feature, creating stored cross-site scripting (XSS) attacks. The malicious code persists in thumbnail settings and could affect other users viewing affected content. Only Concrete CMS installations with compromised or malicious administrator accounts are vulnerable.
💻 Affected Systems
- Concrete CMS
📦 What is this software?
Concrete Cms by Concretecms
⚠️ Risk & Real-World Impact
Worst Case
A malicious administrator could steal session cookies, perform actions as other users, deface websites, or redirect users to malicious sites through persistent XSS payloads.
Likely Case
Limited impact since it requires administrator privileges; most likely used for website defacement or limited data theft from logged-in users.
If Mitigated
With proper administrator account security and monitoring, impact is minimal as it requires privileged access.
🎯 Exploit Status
Exploitation requires administrator-level access to the Concrete CMS backend.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 9.3.4 for version 9.x and 8.5.19 for version 8.x
Vendor Advisory: https://documentation.concretecms.org/9-x/developers/introduction/version-history/934-release-notes
Restart Required: No
Instructions:
1. Backup your Concrete CMS installation and database. 2. Update to Concrete CMS 9.3.4 if using version 9.x. 3. Update to Concrete CMS 8.5.19 if using version 8.x. 4. Clear cache after update.
🔧 Temporary Workarounds
Disable Image Editor for Non-Trusted Admins
allRestrict access to image editing features for administrator accounts that don't require them.
Implement Input Validation
allAdd custom input validation for thumbnail background color fields to reject suspicious content.
🧯 If You Can't Patch
- Implement strict administrator account monitoring and review all admin activity logs regularly.
- Apply Content Security Policy (CSP) headers to limit execution of inline scripts and mitigate XSS impact.
🔍 How to Verify
Check if Vulnerable:
Check your Concrete CMS version in the dashboard or via the /concrete/config/app.php file. If version is between 9.0.0-9.3.3 or below 8.5.19, you are vulnerable.
Check Version:
Check Concrete CMS dashboard or examine /concrete/config/app.php for version information.
Verify Fix Applied:
After updating, verify version shows 9.3.4 or higher for version 9.x, or 8.5.19 or higher for version 8.x. Test image editor background color field for XSS injection.
📡 Detection & Monitoring
Log Indicators:
- Unusual administrator activity in image editor, suspicious thumbnail modifications, JavaScript injection in thumbnail settings
Network Indicators:
- Unexpected external script loads from thumbnail pages, unusual outbound connections from CMS pages
SIEM Query:
Search for admin user modifications to thumbnail settings containing script tags or JavaScript code patterns.
🔗 References
- https://documentation.concretecms.org/9-x/developers/introduction/version-history/934-release-notes
- https://documentation.concretecms.org/developers/introduction/version-history/8519-release-notes
- https://github.com/concretecms/concretecms/commit/dbce253166f6b10ff3e0c09e50fd395370b8b065
- https://github.com/concretecms/concretecms/pull/12183