CVE-2025-47630 Overview
CVE-2025-47630 is a stored cross-site scripting (XSS) vulnerability in the Ajax Load More WordPress plugin developed by Darren Cooney (Connekthq). The flaw affects all plugin versions up to and including 7.3.1.2. Authenticated attackers with low privileges can inject malicious JavaScript payloads that persist in the database. When other users load an affected page, the browser executes the stored script under the site's origin.
Critical Impact
Authenticated contributors can inject persistent JavaScript that executes in visitors' and administrators' browsers, enabling session theft, forced actions, and content defacement across the WordPress site.
Affected Products
- Connekthq Ajax Load More plugin for WordPress, versions up to 7.3.1.2
- WordPress sites using the ajax-load-more plugin with contributor-level or higher access
- Any deployment permitting untrusted authenticated users to submit content processed by the plugin
Discovery Timeline
- 2025-05-07 - CVE-2025-47630 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-47630
Vulnerability Analysis
The vulnerability is a stored XSS flaw classified under [CWE-79], Improper Neutralization of Input During Web Page Generation. The Ajax Load More plugin fails to properly sanitize and escape user-supplied input before rendering it within the generated HTML output. An authenticated attacker with at least contributor privileges can inject a crafted JavaScript payload through plugin-controlled fields. The malicious payload persists in the WordPress database and executes each time a visitor loads a page containing the compromised element.
The scope change reflected in the CVSS vector indicates the injected script can affect resources beyond the vulnerable component itself, such as the browser session of an authenticated administrator. Successful exploitation can lead to session hijacking, unauthorized actions on behalf of privileged users, credential theft through fake login prompts, and redirection to attacker-controlled infrastructure.
Root Cause
The root cause is missing or insufficient output encoding on data flowing from plugin inputs into rendered web pages. WordPress provides escaping helpers such as esc_html(), esc_attr(), and wp_kses_post() intended to neutralize dangerous markup. The affected code paths in Ajax Load More do not apply these functions consistently before echoing attacker-controllable values into the DOM.
Attack Vector
Exploitation requires network access to the WordPress site and an authenticated account with content submission capability. The attacker submits a payload containing HTML or JavaScript through a plugin-exposed input field. User interaction, such as an administrator viewing the affected post or shortcode output, triggers script execution in the victim's browser context. Refer to the Patchstack XSS Vulnerability Report for additional technical details.
Detection Methods for CVE-2025-47630
Indicators of Compromise
- Unexpected <script> tags, javascript: URIs, or event handler attributes (onerror, onload) stored in WordPress wp_posts or wp_postmeta records associated with Ajax Load More shortcodes
- Outbound requests from administrator browsers to unfamiliar domains immediately after loading pages that render Ajax Load More content
- New administrator accounts, altered user roles, or unexpected plugin installations following contributor logins
Detection Strategies
- Query the WordPress database for stored posts and options containing suspicious HTML patterns such as <script, onerror=, or base64-encoded payloads within plugin fields
- Review web server access logs for POST requests to plugin endpoints from low-privileged accounts containing encoded script payloads
- Deploy a Content Security Policy (CSP) in report-only mode to surface unauthorized inline script execution originating from plugin-rendered pages
Monitoring Recommendations
- Enable WordPress audit logging to capture content edits, user role changes, and plugin configuration modifications performed by contributor and author accounts
- Alert on newly created administrator accounts and privilege escalations occurring within short windows after contributor content submissions
- Monitor browser telemetry for administrators accessing wp-admin pages that reference the ajax-load-more shortcode
How to Mitigate CVE-2025-47630
Immediate Actions Required
- Update the Ajax Load More plugin to a version later than 7.3.1.2 as soon as the vendor publishes a patched release
- Audit all contributor, author, and editor accounts, disabling any that are inactive or unrecognized
- Inspect existing plugin-managed content for injected scripts and remove any malicious payloads found in the database
Patch Information
Refer to the Patchstack XSS Vulnerability Report for the current patch status. Administrators should apply updates through the WordPress plugin dashboard or via WP-CLI as soon as a fixed version is available.
Workarounds
- Restrict contributor and author roles from accessing Ajax Load More configuration fields until a patched version is installed
- Implement a strict Content Security Policy that blocks inline scripts and restricts script sources to trusted origins
- Deploy a web application firewall (WAF) rule set that filters XSS payloads targeting the ajax-load-more plugin endpoints
# Update the Ajax Load More plugin via WP-CLI once a fix is released
wp plugin update ajax-load-more --path=/var/www/html
# Audit stored content for suspicious script tags
wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%' OR post_content LIKE '%onerror=%';"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

