CVE-2024-8724 Overview
CVE-2024-8724 affects the Waitlist Woocommerce (Back in stock notifier) plugin for WordPress developed by Xootix. The vulnerability is a Reflected Cross-Site Scripting (XSS) flaw [CWE-79] caused by the use of add_query_arg without proper URL escaping. All plugin versions up to and including 2.7.5 are affected. Unauthenticated attackers can inject arbitrary web scripts that execute when a victim clicks a crafted link. Successful exploitation requires user interaction, but no authentication.
Critical Impact
Unauthenticated attackers can execute arbitrary JavaScript in an administrator's browser session by tricking the user into clicking a malicious link, enabling session theft or unauthorized actions in the WordPress admin context.
Affected Products
- Xootix Waitlist Woocommerce (Back in stock notifier) plugin for WordPress
- All versions up to and including 2.7.5
- Deployments using the vulnerable xoo-wl-import-form.php admin template
Discovery Timeline
- 2024-09-14 - CVE-2024-8724 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2024-8724
Vulnerability Analysis
The flaw resides in the plugin's admin template xoo-wl-import-form.php. The template calls the WordPress function add_query_arg and echoes the resulting URL back into the page without escaping the output. Because add_query_arg preserves existing query parameters from the current request, attacker-controlled values in the request URL are reflected into the generated markup. This produces a reflected XSS sink in the admin interface.
Exploitation requires the victim to be authenticated as an administrator and to click a crafted link pointing to the plugin's import form. When the page renders, the injected payload executes in the administrator's browser context. Attacker-supplied JavaScript can then perform actions such as reading the session, issuing authenticated requests to WordPress REST endpoints, or modifying site content.
Root Cause
The root cause is missing output escaping around a dynamically generated URL. WordPress guidance requires wrapping add_query_arg output with esc_url when rendering the value into HTML attributes. The vulnerable code path emits the URL directly, allowing arbitrary attributes and script content to be reflected into the page.
Attack Vector
The attack vector is network-based and requires user interaction. An attacker crafts a URL that targets the plugin's admin page and appends malicious query parameters. The attacker delivers the link through phishing, social engineering, or a malicious referrer. When an authenticated administrator visits the URL, the reflected payload executes in the admin session.
See the WordPress Plugin Import Template source and the Wordfence Vulnerability Report for technical details on the vulnerable sink.
Detection Methods for CVE-2024-8724
Indicators of Compromise
- Requests to WordPress admin URLs containing the plugin path with query parameters holding HTML or JavaScript syntax such as <script>, onerror=, or javascript:.
- Referer headers pointing to external domains preceding administrator visits to xoo-wl-import-form.php.
- Unexpected outbound requests initiated from an administrator browser session shortly after visiting the plugin's import form.
Detection Strategies
- Inspect web server and WAF logs for requests to wp-admin pages associated with the Waitlist Woocommerce plugin that contain encoded HTML characters in the query string.
- Deploy WAF rules that flag reflected script patterns in URL parameters targeting WordPress admin endpoints.
- Correlate administrator authentication events with subsequent anomalous REST API calls originating from the same session.
Monitoring Recommendations
- Monitor the WordPress plugin inventory for installations of waitlist-woocommerce at versions <= 2.7.5.
- Alert on new WordPress administrator accounts, role changes, or plugin installations that follow an administrator click on an external link.
- Enable browser-side Content Security Policy (CSP) reporting to capture blocked inline script executions in the admin interface.
How to Mitigate CVE-2024-8724
Immediate Actions Required
- Update the Waitlist Woocommerce plugin to a version above 2.7.5 that includes the fix documented in the WordPress Plugin Changeset History.
- If an update is not immediately possible, deactivate and remove the plugin until it can be patched.
- Instruct administrators to avoid clicking untrusted links while authenticated to the WordPress admin console.
Patch Information
The vendor addressed the issue in the plugin changeset referenced by the WordPress plugin repository. The fix escapes the URL output from add_query_arg before rendering it in the admin template. Administrators should verify that the installed plugin version is above 2.7.5 and review the Wordfence Vulnerability Report for confirmation.
Workarounds
- Restrict access to the WordPress wp-admin directory using IP allowlisting at the web server or WAF layer.
- Enforce a strict Content Security Policy that disallows inline script execution in administrative interfaces.
- Require administrators to use dedicated browser profiles or sessions when performing WordPress management tasks.
# Configuration example: WP-CLI update to remediate CVE-2024-8724
wp plugin update waitlist-woocommerce
wp plugin get waitlist-woocommerce --field=version
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

