CVE-2025-3153

6.5 MEDIUM

📋 TL;DR

Concrete CMS versions below 8.5.20 and 9 below 9.4.0RC2 are vulnerable to CSRF and XSS attacks in the Address attribute when a country is not specified. Attackers with address attribute editing permissions can inject malicious scripts to steal limited data, modify some content, or disrupt the dashboard. Only users granted address attribute editing access can exploit this vulnerability.

💻 Affected Systems

Products:
  • Concrete CMS
Versions: Versions below 8.5.20 and 9.x below 9.4.0RC2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems where users have been granted permission to edit address attributes. The vulnerability exists in address output when country field is empty.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attacker with address editing permissions could execute cross-site scripting to steal administrator session cookies, perform unauthorized actions via CSRF, render the dashboard unavailable, and modify limited site data.

🟠

Likely Case

Authenticated users with address editing permissions could inject malicious scripts to perform limited data theft or modification, potentially affecting other users who view the compromised address fields.

🟢

If Mitigated

With proper access controls limiting who can edit address attributes, impact is minimal to none as only authorized users could exploit the vulnerability.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with address attribute editing permissions. Attack combines CSRF and XSS vectors.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 8.5.20 for version 8.x, 9.4.0RC2 for version 9.x

Vendor Advisory: https://documentation.concretecms.org/9-x/developers/introduction/version-history/940-release-notes

Restart Required: No

Instructions:

1. Backup your Concrete CMS installation and database. 2. Update to Concrete CMS 8.5.20 if using version 8.x. 3. Update to Concrete CMS 9.4.0RC2 if using version 9.x. 4. Review and sanitize existing address database entries as the patch only affects new data.

🔧 Temporary Workarounds

Restrict Address Attribute Permissions

all

Temporarily remove or restrict permissions for editing address attributes to only essential administrators.

Navigate to Concrete CMS Dashboard > System & Settings > Permissions & Access > Access Entities

Input Validation for Address Fields

all

Implement custom validation to ensure country field is always populated in address attributes.

Create custom form validation rules for address fields in Concrete CMS

🧯 If You Can't Patch

  • Review and audit all user accounts with address attribute editing permissions, reducing access to minimum necessary
  • Manually search database for malicious address entries and sanitize existing data

🔍 How to Verify

Check if Vulnerable:

Check Concrete CMS version in dashboard or via /concrete/config/app.php. Versions below 8.5.20 or 9.x below 9.4.0RC2 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 8.5.20 or higher for version 8.x, or 9.4.0RC2 or higher for version 9.x. Test address attribute functionality with empty country field.

📡 Detection & Monitoring

Log Indicators:

  • Unusual address field modifications
  • Multiple failed login attempts followed by address edits
  • JavaScript or HTML injection patterns in address data

Network Indicators:

  • CSRF token validation failures
  • Unexpected POST requests to address update endpoints

SIEM Query:

source="concretecms" AND (event="address_update" OR event="attribute_save") AND (country="" OR country=null)

🔗 References

📤 Share & Export