CVE-2026-1098
Stored XSS in CM CSS Columns WordPress Plugin via 'tag' Attribute
Publication date: 2026-01-24
Last updated on: 2026-01-24
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| codemacher | cm_css_columns | to 1.2.1 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The vulnerability is a Stored Cross-Site Scripting (XSS) issue in the CM CSS Columns WordPress plugin, specifically via the 'tag' shortcode attribute. Due to insufficient input sanitization and output escaping on user-supplied attributes, authenticated users with Contributor-level access or higher can inject arbitrary web scripts into pages. These scripts execute whenever any user accesses the injected page, potentially compromising site security.
How can this vulnerability impact me? :
This vulnerability can allow attackers with Contributor-level access or above to inject malicious scripts into WordPress pages. These scripts execute in the context of users visiting the affected pages, potentially leading to theft of user credentials, session hijacking, defacement, or other malicious actions that compromise the integrity and security of the website and its users.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The provided information does not specify how the Stored Cross-Site Scripting vulnerability in the CM CSS Columns plugin affects compliance with common standards and regulations such as GDPR or HIPAA.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by identifying WordPress sites using the CM CSS Columns plugin version 1.2.1 or earlier and checking for the presence of the vulnerable shortcode attribute 'tag' in posts or pages. Since the vulnerability involves Stored Cross-Site Scripting via the 'tag' shortcode attribute, you can search the WordPress database for posts containing the shortcode '[css_no_break]' or '[css_col_span]' with suspicious or unexpected 'tag' attribute values that may contain injected scripts. Commands to detect this could include SQL queries on the WordPress database to find posts with these shortcodes and potentially malicious content. For example, using WP-CLI or direct SQL queries: 1. Using WP-CLI to search posts: wp post list --post_type=post --field=ID | xargs -I % wp post get % --field=post_content | grep -i '\[css_no_break.*tag=.*<script' 2. Direct SQL query example: SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%[css_no_break%tag=%<script%' OR post_content LIKE '%[css_col_span%tag=%<script%'; Note that these commands are examples and should be adapted to your environment. Additionally, monitoring HTTP requests for unusual script execution or alerts from web application firewalls may help detect exploitation attempts.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include: 1. Update the CM CSS Columns plugin to a version later than 1.2.1 where the vulnerability is fixed, if available. 2. If an update is not available, disable or uninstall the plugin to prevent exploitation. 3. Restrict Contributor-level and higher user permissions to trusted users only, as the vulnerability requires authenticated users with Contributor-level access or above. 4. Review and sanitize existing content using the vulnerable shortcodes to remove any injected scripts. 5. Implement Web Application Firewall (WAF) rules to block attempts to inject or execute malicious scripts via shortcode attributes. 6. Monitor logs and site behavior for signs of exploitation. These steps help reduce the risk of exploitation until a secure plugin version is deployed.