CVE-2026-3241 Overview
A stored cross-site scripting (XSS) vulnerability has been identified in Concrete CMS versions below 9.4.8. The vulnerability exists within the "Legacy Form" block functionality, where an authenticated user with form creation or editing permissions can inject persistent JavaScript payloads into multiple-choice question options. These options include Checkbox Lists, Radio Buttons, and Select Box elements. Once injected, the malicious script executes in the browser of any user who subsequently views the page containing the compromised form.
Critical Impact
Authenticated attackers with form editing privileges can inject persistent JavaScript that executes in victims' browsers, potentially leading to session hijacking, credential theft, or unauthorized actions performed on behalf of legitimate users.
Affected Products
- Concrete CMS versions below 9.4.8
- Legacy Form block component
- Multiple-choice form elements (Checkbox List, Radio Buttons, Select Box)
Discovery Timeline
- March 4, 2026 - CVE-2026-3241 published to NVD
- March 4, 2026 - Last updated in NVD database
Technical Details for CVE-2026-3241
Vulnerability Analysis
This stored XSS vulnerability (CWE-79) affects the Legacy Form block in Concrete CMS. The root issue lies in insufficient input sanitization when processing multiple-choice question options within form configurations. An attacker with elevated privileges (such as a rogue administrator or any authenticated user with form editing permissions) can craft malicious JavaScript payloads and embed them within the option values or labels of Checkbox Lists, Radio Buttons, or Select Box form elements.
The attack requires network access and authenticated privileges to the CMS administrative interface. The vulnerability's impact is primarily focused on integrity, as it allows modification of page content and execution of arbitrary scripts in other users' browser contexts. While the attack requires user interaction (a victim must view the affected page), the persistent nature of the XSS means the payload remains active until manually removed.
Root Cause
The vulnerability stems from improper output encoding and input validation within the Legacy Form block's handling of multiple-choice question options. When form options are rendered on the frontend, user-supplied data is not adequately sanitized or escaped, allowing HTML and JavaScript content to be interpreted and executed by the browser rather than being displayed as plain text.
Attack Vector
The attack follows a straightforward exploitation path leveraging network access to the Concrete CMS administrative interface. An attacker with form editing permissions navigates to the Legacy Form block configuration and creates or modifies a multiple-choice question. Within the option field (for Checkbox List, Radio Buttons, or Select Box), the attacker injects a JavaScript payload such as an event handler or script tag. The malicious form is saved and published to a page. When any user visits the page containing the form, the injected script executes in their browser context, potentially stealing session cookies, redirecting users to malicious sites, or performing actions on behalf of the victim.
The stored nature of this XSS vulnerability makes it particularly dangerous as the payload persists in the database and executes for every subsequent visitor to the affected page.
Detection Methods for CVE-2026-3241
Indicators of Compromise
- Unusual JavaScript content within Legacy Form block option values in the database
- Script tags or event handlers (e.g., onerror, onload, onclick) appearing in form field configurations
- Reports from users experiencing unexpected browser behavior when viewing pages with forms
- Audit log entries showing form modifications by unexpected or unauthorized users
Detection Strategies
- Review Concrete CMS audit logs for recent modifications to Legacy Form blocks
- Implement content security policies (CSP) to detect and block inline script execution
- Scan form block configurations in the database for common XSS patterns and payloads
- Deploy web application firewall (WAF) rules to detect XSS patterns in administrative requests
Monitoring Recommendations
- Enable comprehensive audit logging for all form block creation and modification events
- Monitor for CSP violation reports that may indicate attempted XSS execution
- Implement real-time alerting for form configuration changes by non-administrative users
- Regularly audit user permissions to ensure form editing access follows the principle of least privilege
How to Mitigate CVE-2026-3241
Immediate Actions Required
- Upgrade Concrete CMS to version 9.4.8 or later immediately
- Audit all existing Legacy Form blocks for suspicious JavaScript content in option fields
- Review user permissions and revoke unnecessary form editing privileges
- Consider temporarily disabling the Legacy Form block until patching is complete
- Implement Content Security Policy headers to reduce XSS impact
Patch Information
Concrete CMS has addressed this vulnerability in version 9.4.8. The fix is documented in the 9.4.8 Release Notes and the technical changes can be reviewed in GitHub Pull Request #12826. Organizations should prioritize upgrading to this version or later to remediate the vulnerability.
Workarounds
- Restrict form editing permissions to only highly trusted administrators until the patch can be applied
- Implement strict Content Security Policy (CSP) headers with script-src directives to mitigate script execution
- Use a Web Application Firewall (WAF) to filter and block common XSS payloads in form submissions
- Conduct manual review of all Legacy Form blocks to identify and remove any malicious content
- Consider migrating to newer form block implementations if Legacy Form functionality is not required
# Example CSP header configuration for Apache to mitigate XSS impact
# Add to .htaccess or Apache configuration
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; frame-ancestors 'self';"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

