CVE-2025-12182 Overview
The Qi Blocks plugin for WordPress contains a broken access control flaw in the resize_image_callback() function. All versions up to and including 1.4.3 fail to verify whether an authenticated user has permission to resize a specific media attachment. Attackers with Contributor-level access or higher can resize arbitrary media library images owned by other users. The flaw is categorized under [CWE-284: Improper Access Control] and can trigger unintended file writes, disk consumption, and server resource abuse when large images are processed.
Critical Impact
Authenticated Contributor-level attackers can abuse the image resize endpoint to overwrite media belonging to other users and exhaust server resources through repeated processing of oversized images.
Affected Products
- Qi Blocks plugin for WordPress — all versions up to and including 1.4.3
- WordPress sites running Qi Blocks that allow Contributor-level registration or above
- Multi-author WordPress installations with the plugin active
Discovery Timeline
- 2025-11-15 - CVE-2025-12182 published to the National Vulnerability Database (NVD)
- 2026-10-07 - Last updated in NVD database
Technical Details for CVE-2025-12182
Vulnerability Analysis
The Qi Blocks plugin exposes an AJAX endpoint backed by the resize_image_callback() function in inc/media/class-qi-blocks-media.php. The handler accepts an attachment identifier and target dimensions, then invokes WordPress image processing routines. The handler does not confirm that the requesting user owns the attachment or holds capabilities such as edit_post for that specific object.
Any authenticated user with at least Contributor rights can submit resize requests referencing arbitrary attachment IDs. The plugin processes the request, writes derivative image files to the uploads directory, and consumes memory and CPU proportional to the source image size. Repeated calls against large attachments can degrade site performance and fill disk quotas.
The impact is bounded to integrity and availability of media assets. Confidentiality is unaffected because the function returns resize status rather than image content.
Root Cause
The root cause is a missing per-object capability check. The function verifies authentication and nonce validity but omits an current_user_can('edit_post', $attachment_id) style check. This allows horizontal privilege escalation across attachments owned by different authors.
Attack Vector
Exploitation requires network access to the WordPress admin AJAX endpoint and valid credentials for a Contributor, Author, Editor, or Administrator account. The attacker submits a crafted POST request to admin-ajax.php referencing the vulnerable action and an attachment ID belonging to another user. No user interaction is required beyond the attacker's own authenticated session. Technical details are available in the WordPress Plugin Media Class Code and the Wordfence Vulnerability Report.
Detection Methods for CVE-2025-12182
Indicators of Compromise
- Unexpected image derivatives in wp-content/uploads/ with sizes not matching registered image sizes
- Repeated POST requests to admin-ajax.php from Contributor-level accounts referencing the Qi Blocks resize action
- Sudden disk space consumption on web servers hosting WordPress with Qi Blocks installed
- Elevated PHP memory usage or process timeouts during image processing operations
Detection Strategies
- Audit web server access logs for high-frequency admin-ajax.php requests originating from low-privilege user sessions
- Monitor the WordPress uploads directory for files created outside the owning user's expected activity window
- Correlate authenticated session activity with media library change events to identify cross-user modifications
Monitoring Recommendations
- Enable WordPress audit logging to track media library modifications per user
- Alert on PHP process memory spikes or image processing errors in error_log
- Track disk utilization on the uploads partition and alert on rapid growth
How to Mitigate CVE-2025-12182
Immediate Actions Required
- Update the Qi Blocks plugin to a version newer than 1.4.3 as soon as the vendor publishes a fixed release
- Review Contributor and Author account rosters and disable or suspend untrusted accounts
- Audit recent media library changes for unauthorized resize operations
Patch Information
The vendor addressed the missing capability check in WordPress Plugin Changeset 3387712. Site operators should upgrade to the patched release that incorporates this changeset.
Workarounds
- Deactivate the Qi Blocks plugin until a patched version is installed
- Restrict new user registration or require administrator approval for Contributor-level accounts
- Deploy a web application firewall rule that blocks the vulnerable AJAX action for non-admin users
- Apply file system quotas on the uploads directory to limit resource exhaustion impact
# Configuration example: restrict access to admin-ajax.php resize action via WAF or .htaccess
# Block requests to the Qi Blocks resize action from non-administrative sessions
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} /wp-admin/admin-ajax\.php$ [NC]
RewriteCond %{QUERY_STRING} action=qi_blocks_resize_image [NC,OR]
RewriteCond %{THE_REQUEST} "action=qi_blocks_resize_image" [NC]
RewriteRule .* - [F,L]
</IfModule>
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.