CVE-2025-31399 Overview
A Cross-Site Request Forgery (CSRF) vulnerability exists in the CG Scroll To Top WordPress plugin by Chandan Garg that enables attackers to perform Stored Cross-Site Scripting (XSS) attacks. This chained vulnerability allows unauthenticated attackers to trick authenticated administrators into submitting malicious requests that inject persistent JavaScript code into the WordPress site.
Critical Impact
Attackers can leverage this CSRF-to-Stored XSS chain to execute arbitrary JavaScript in the context of any user visiting the affected WordPress pages, potentially leading to session hijacking, administrative account takeover, defacement, or further malware distribution.
Affected Products
- CG Scroll To Top WordPress Plugin versions through 3.5
- WordPress sites utilizing the cg-scroll-to-top plugin
Discovery Timeline
- 2025-04-09 - CVE-2025-31399 published to NVD
- 2026-04-23 - Last updated in NVD database
Technical Details for CVE-2025-31399
Vulnerability Analysis
This vulnerability represents a dangerous chained attack combining Cross-Site Request Forgery (CWE-352) with Stored Cross-Site Scripting. The CG Scroll To Top plugin fails to implement proper CSRF token validation on administrative form submissions, allowing attackers to craft malicious requests that modify plugin settings. When combined with insufficient input sanitization, this enables the injection of persistent malicious scripts that execute whenever the affected pages are loaded.
The attack requires user interaction where an authenticated administrator must be tricked into clicking a malicious link or visiting an attacker-controlled page. Once triggered, the injected payload persists in the database and executes for all subsequent visitors, making this a particularly dangerous attack vector for WordPress sites.
Root Cause
The root cause is the absence of proper nonce verification (WordPress's CSRF protection mechanism) on administrative form handlers within the CG Scroll To Top plugin. Additionally, user-supplied input is not properly sanitized or escaped before being stored in the database and rendered on the frontend, enabling the Stored XSS component of this attack chain.
Attack Vector
The attack is network-based and requires user interaction. An attacker crafts a malicious HTML page containing a hidden form that submits to the vulnerable plugin's settings endpoint. When an authenticated WordPress administrator visits this page, the form automatically submits with malicious JavaScript payload embedded in the plugin settings. Since no CSRF token validation occurs, the request is processed and the malicious script is stored. Subsequently, any visitor to pages where the CG Scroll To Top functionality is active will have the malicious JavaScript executed in their browser context.
The attack flow involves social engineering to lure administrators to an attacker-controlled page, automatic form submission exploiting the missing CSRF protection, storage of malicious JavaScript in plugin settings, and execution of the payload for all site visitors.
Detection Methods for CVE-2025-31399
Indicators of Compromise
- Unexpected JavaScript code or <script> tags in CG Scroll To Top plugin settings
- Suspicious outbound network requests from visitor browsers to unknown external domains
- Unauthorized changes to plugin configuration without administrator action
- Reports of browser security warnings or anomalous behavior when visiting WordPress pages
Detection Strategies
- Implement integrity monitoring for WordPress plugin settings and database records related to cg-scroll-to-top
- Review web server access logs for unusual POST requests to plugin admin endpoints from external referrers
- Deploy Content Security Policy (CSP) headers to detect and block unauthorized inline script execution
- Monitor for administrator session activity from unexpected IP addresses following potential CSRF exploitation
Monitoring Recommendations
- Configure WordPress security plugins to alert on plugin settings modifications
- Implement database activity monitoring for changes to options tables containing plugin configurations
- Deploy Web Application Firewall (WAF) rules to detect and block CSRF attack patterns targeting WordPress admin endpoints
- Enable browser-based XSS auditing and reporting mechanisms
How to Mitigate CVE-2025-31399
Immediate Actions Required
- Immediately deactivate and remove the CG Scroll To Top plugin from affected WordPress installations
- Audit current plugin settings for any injected malicious JavaScript code
- Review WordPress admin user sessions and invalidate any suspicious active sessions
- Consider implementing a Web Application Firewall with CSRF and XSS protection rules
Patch Information
At the time of publication, no patch information is available in the NVD database. Users should monitor the Patchstack Vulnerability Advisory for updates regarding a security fix. Until a patch is released, consider using alternative scroll-to-top plugins that have been security audited.
Workarounds
- Disable the CG Scroll To Top plugin until a patched version is available
- Implement Web Application Firewall rules to block POST requests to plugin admin endpoints without valid WordPress nonces
- Restrict administrative access to trusted IP addresses only
- Enable and enforce Content Security Policy headers to mitigate potential XSS payload execution
- Educate administrators about CSRF attack vectors and safe browsing practices when logged into WordPress
# WordPress wp-config.php hardening example
# Add additional security headers via .htaccess
# .htaccess configuration for CSP and XSS protection
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
Header set Content-Security-Policy "script-src 'self'; object-src 'none';"
</IfModule>
# Alternatively, remove the vulnerable plugin via WP-CLI
wp plugin deactivate cg-scroll-to-top --path=/var/www/html
wp plugin delete cg-scroll-to-top --path=/var/www/html
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

