CVE-2025-12180
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-11-01

Last updated on: 2025-11-04

Assigner: Wordfence

Description
The Qi Blocks plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.4.3. This is due to the plugin storing arbitrary CSS styles submitted via the `qi-blocks/v1/update-styles` REST API endpoint without proper sanitization in the `update_global_styles_callback()` function. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary CSS, which can be used to perform actions such as hiding content, overlaying fake UI elements, or exfiltrating sensitive information via CSS injection techniques.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-11-01
Last Modified
2025-11-04
Generated
2026-05-07
AI Q&A
2025-11-01
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
wordpress qi_blocks 1.4.3
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The vulnerability in the Qi Blocks WordPress plugin (up to version 1.4.3) is a Missing Authorization issue in the REST API endpoint `qi-blocks/v1/update-styles`. It allows authenticated users with Contributor-level access or higher to submit arbitrary CSS styles without proper sanitization. Because the plugin stores these styles directly, attackers can inject malicious CSS that can hide content, overlay fake UI elements, or exfiltrate sensitive information using CSS injection techniques. [1, 3]


How can this vulnerability impact me? :

This vulnerability can impact you by allowing attackers with Contributor-level access or above to inject arbitrary CSS into your WordPress site. This malicious CSS can be used to hide legitimate content, display fake user interface elements to deceive users, or even exfiltrate sensitive information through CSS-based data leakage methods. Such actions can undermine the integrity and trustworthiness of your website and potentially expose sensitive data. [1, 3]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring REST API requests to the `qi-blocks/v1/update-styles` endpoint for unauthorized or suspicious CSS style updates. Since the vulnerability involves authenticated users with Contributor-level access or higher injecting arbitrary CSS, you can audit REST API calls for this endpoint and check for unusual or malicious CSS content. Commands to detect such activity could include using tools like curl or WP-CLI to query or monitor the endpoint, for example: 1. Use WP-CLI to check current global styles stored in the WordPress options: `wp option get qi_blocks_global_styles` 2. Monitor HTTP requests to the REST API endpoint (e.g., via web server logs or using tools like tcpdump or Wireshark) filtering for POST requests to `/wp-json/qi-blocks/v1/update-styles`. 3. Use curl to simulate or inspect the endpoint (requires authentication): `curl -X POST -H "Authorization: Bearer <token>" -d '{"options":{...}}' https://your-site.com/wp-json/qi-blocks/v1/update-styles` 4. Review WordPress user roles and capabilities to identify users with `edit_posts` and `publish_posts` permissions who could exploit this. Detection involves correlating REST API usage with user permissions and inspecting CSS payloads for suspicious content such as CSS injection patterns. [1, 3]


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include: 1. Update the Qi Blocks plugin to a version later than 1.4.3 where the vulnerability is patched. The patch includes enhanced sanitization of CSS selectors and styles, and stricter permission checks requiring both `edit_posts` and `publish_posts` capabilities to update global styles. 2. Restrict user roles and capabilities to ensure only trusted users have `edit_posts` and `publish_posts` permissions, minimizing the risk of malicious CSS injection. 3. Temporarily disable or restrict access to the `qi-blocks/v1/update-styles` REST API endpoint if possible, until the plugin is updated. 4. Monitor and audit REST API usage for suspicious CSS updates as a preventive measure. 5. Apply web application firewall (WAF) rules to detect and block malicious CSS payloads targeting this endpoint. These steps reduce the risk of exploitation by limiting who can update styles and ensuring that any CSS input is properly sanitized before being saved or enqueued. [1]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart