CVE-2025-23832 Overview
CVE-2025-23832 is a Cross-Site Request Forgery (CSRF) vulnerability [CWE-352] in the Matt Gibbs Admin Cleanup plugin for WordPress. The flaw affects all versions up to and including 1.0.2. An attacker can chain the CSRF weakness with a Stored Cross-Site Scripting (XSS) payload to persist malicious JavaScript in the WordPress administrative interface.
Exploitation requires an authenticated administrator to visit a crafted page or follow a malicious link. Once triggered, the injected script executes in the context of every user who loads the affected admin page.
Critical Impact
Successful exploitation enables persistent script execution within the WordPress admin console, leading to session theft, privilege abuse, and site compromise.
Affected Products
- Matt Gibbs Admin Cleanup WordPress plugin
- Versions from n/a through 1.0.2 (inclusive)
- WordPress sites running the vulnerable plugin
Discovery Timeline
- 2025-01-16 - CVE-2025-23832 published to the National Vulnerability Database
- 2026-04-23 - Last updated in NVD database
Technical Details for CVE-2025-23832
Vulnerability Analysis
The vulnerability stems from missing CSRF protection in plugin request handlers that accept and store user-controlled content. The plugin fails to validate WordPress nonces on state-changing requests, allowing attackers to forge admin actions through cross-origin requests. When combined with insufficient output encoding, the forged request writes attacker-supplied script content into persistent storage.
The stored payload renders inside the WordPress admin interface. Any administrator loading the affected screen executes the malicious JavaScript in their authenticated session. This allows attackers to perform actions on behalf of the administrator, including creating new privileged accounts, modifying site content, or installing additional malicious plugins.
The vulnerability requires user interaction. An administrator must visit an attacker-controlled page or click a crafted link while authenticated to the WordPress dashboard. Attack complexity is low and no privileges are required from the attacker.
Root Cause
The plugin omits nonce verification through wp_verify_nonce() or check_admin_referer() on form submissions and AJAX handlers. Input is also stored without sanitization helpers such as sanitize_text_field() or wp_kses(), and output is rendered without esc_html() or esc_attr() escaping.
Attack Vector
An attacker hosts a malicious HTML page containing an auto-submitting form or asynchronous request targeting the vulnerable plugin endpoint. The attacker lures an authenticated WordPress administrator to the page through phishing or social engineering. The victim's browser submits the forged request with valid session cookies, and the plugin processes the request and stores the JavaScript payload. The payload subsequently executes whenever an administrator views the affected page.
For full technical analysis, see the Patchstack Vulnerability Report.
Detection Methods for CVE-2025-23832
Indicators of Compromise
- Unexpected <script> tags or JavaScript event handlers stored in WordPress plugin settings or options tables
- Outbound HTTP requests from administrator browser sessions to unfamiliar domains after visiting wp-admin pages
- New administrator accounts created without authorized change requests
- Modifications to plugin or theme files coinciding with administrator sessions
Detection Strategies
- Audit the wp_options table and Admin Cleanup plugin settings for HTML or JavaScript content that should not be present
- Review web server access logs for POST requests to plugin endpoints lacking a valid Referer header from the WordPress admin
- Inspect rendered admin pages with a Content Security Policy report-only header to surface inline script execution
Monitoring Recommendations
- Enable WordPress audit logging to track plugin option changes and administrator activity
- Monitor administrator session activity for anomalous API calls or user creation events
- Alert on changes to plugin configuration tables outside expected maintenance windows
How to Mitigate CVE-2025-23832
Immediate Actions Required
- Deactivate and remove the Admin Cleanup plugin until a patched version is confirmed available
- Audit all WordPress administrator accounts and remove any that were not authorized
- Force password resets and session invalidation for all administrative users
- Review stored plugin configuration data and remove any embedded scripts or HTML
Patch Information
At the time of NVD publication, no fixed version was identified. The vulnerability affects Admin Cleanup versions through 1.0.2. Monitor the Patchstack Vulnerability Report for updates on remediation availability.
Workarounds
- Remove the Admin Cleanup plugin from production WordPress sites
- Restrict access to /wp-admin/ using IP allowlisting at the web server or WAF layer
- Deploy a web application firewall rule to block requests to plugin endpoints missing valid WordPress nonces
- Train administrators to avoid clicking untrusted links while logged into WordPress
# Configuration example - remove vulnerable plugin via WP-CLI
wp plugin deactivate admin-cleanup
wp plugin delete admin-cleanup
# Verify removal
wp plugin list --status=active | grep -i admin-cleanup
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

