CVE-2025-12416 Overview
CVE-2025-12416 affects the Pagerank Tools plugin for WordPress in all versions up to and including 1.1.5. The vulnerability enables Stored Cross-Site Scripting (XSS) through Cross-Site Request Forgery (CSRF) due to missing nonce validation in the pr_save_settings() function and insufficient input sanitization. Unauthenticated attackers can inject malicious JavaScript into plugin settings by tricking an authenticated administrator into clicking a crafted link. The injected script executes whenever any user loads the plugin's settings page in the WordPress admin. The weakness is tracked under CWE-352: Cross-Site Request Forgery.
Critical Impact
Successful exploitation allows attackers to persist arbitrary JavaScript in the WordPress admin interface, enabling session theft, administrative action abuse, or account takeover when an administrator visits the affected settings page.
Affected Products
- Pagerank Tools plugin for WordPress — all versions ≤ 1.1.5
- WordPress sites with the plugin installed and active
- Administrator sessions accessing the plugin's settings page
Discovery Timeline
- 2025-11-04 - CVE-2025-12416 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-12416
Vulnerability Analysis
The Pagerank Tools plugin exposes an administrative settings handler that persists user-controlled input to the WordPress options store without proper request validation or output escaping. Two defects combine into a single exploitable chain. First, the pr_save_settings() function omits a WordPress nonce check, so it cannot distinguish a legitimate admin form submission from a forged cross-origin request. Second, values submitted to the handler are stored without adequate sanitization and later rendered into the settings page markup.
Because the stored payload executes in the administrator's browser context, an attacker gains the ability to run script with the privileges of a logged-in admin. Referenced code locations in the plugin source at lines 176 and 192 of functions.inc.php illustrate where the missing nonce verification and unsafe input handling occur. See the WordPress plugin source for context.
Root Cause
The root cause is the absence of a wp_verify_nonce() or check_admin_referer() call in pr_save_settings(), combined with missing calls to sanitization helpers such as sanitize_text_field() or wp_kses() before writing values into WordPress options. This violates WordPress plugin security guidance for state-changing admin actions.
Attack Vector
An unauthenticated attacker hosts a page containing a hidden HTML form or JavaScript that submits a request to the vulnerable plugin endpoint on the target site. The attacker then lures a logged-in administrator to visit the page, for example through phishing. The browser automatically sends the admin's authentication cookies, and the plugin persists the attacker-supplied <script> payload. When any administrator subsequently opens the plugin settings page, the script executes in the admin origin.
No authentic exploit code is provided in the advisory. See the Wordfence Vulnerability Report for further technical detail.
Detection Methods for CVE-2025-12416
Indicators of Compromise
- Unexpected <script>, onerror=, or javascript: content stored in wp_options rows associated with the Pagerank Tools plugin.
- Admin sessions loading the plugin settings page followed by outbound requests to unfamiliar domains.
- Cross-origin POST requests to the plugin's admin handler originating from external Referer headers.
- New or modified WordPress administrator accounts created shortly after an admin visited the settings page.
Detection Strategies
- Review the plugin's stored option values for HTML or JavaScript tokens that should not appear in configuration fields.
- Correlate WordPress admin access logs with HTTP Referer headers to identify state-changing requests initiated from untrusted origins.
- Inspect web server access logs for POST requests to Pagerank Tools admin endpoints lacking a valid _wpnonce parameter.
Monitoring Recommendations
- Monitor WordPress wp_options changes with file integrity or database auditing tooling.
- Alert on administrator browser sessions issuing unexpected outbound requests after visiting /wp-admin/.
- Track installation and version inventory of WordPress plugins across managed sites to identify vulnerable Pagerank Tools installs.
How to Mitigate CVE-2025-12416
Immediate Actions Required
- Deactivate and remove the Pagerank Tools plugin on any site running version 1.1.5 or earlier until a fixed release is confirmed.
- Audit the plugin's stored settings and remove any script content injected into option values.
- Rotate WordPress administrator passwords and invalidate active sessions if injection is suspected.
- Restrict administrator browsing habits to avoid clicking untrusted links while authenticated to /wp-admin/.
Patch Information
At the time of publication, the NVD entry for CVE-2025-12416 does not list a fixed version of the Pagerank Tools plugin. Site owners should consult the Wordfence advisory and the WordPress plugin repository for updated release information and apply the vendor patch as soon as it becomes available.
Workarounds
- Uninstall the plugin if it is not business-critical, as this fully eliminates the attack surface.
- Deploy a Web Application Firewall (WAF) rule that blocks POST requests to the plugin's admin action without a valid _wpnonce parameter.
- Enforce Content Security Policy (CSP) headers restricting inline script execution on /wp-admin/ pages to reduce XSS impact.
- Require administrators to use dedicated browser profiles for WordPress management to limit CSRF exposure from unrelated browsing.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

