CVE-2026-13009 Overview
CVE-2026-13009 is an authenticated SQL Injection vulnerability in the AI Copilot – Content Generator plugin for WordPress, affecting all versions up to and including 1.5.4. The flaw resides in the handling of the order[0][dir] parameter, which is passed to a database query without sufficient escaping or preparation. Authenticated users with subscriber-level access or above can append arbitrary SQL to the existing query and extract sensitive data. Contributor-level users can also obtain the required waic-nonce by rendering the [waic_form] or [aiwu-form] shortcode and reach the vulnerable AJAX handler, which performs no capability check beyond nonce verification.
Critical Impact
Authenticated attackers with low-privilege accounts can exfiltrate sensitive database content, including user credentials and secrets stored in the WordPress database.
Affected Products
- AI Copilot – Content Generator plugin for WordPress, all versions through 1.5.4
- WordPress sites permitting subscriber or contributor registration
- Sites rendering the [waic_form] or [aiwu-form] shortcodes on front-end pages
Discovery Timeline
- 2026-07-23 - CVE-2026-13009 published to NVD
- 2026-07-23 - Last updated in NVD database
Technical Details for CVE-2026-13009
Vulnerability Analysis
The vulnerability is a generic SQL Injection classified under [CWE-89]. The plugin exposes an AJAX handler that constructs an ORDER BY clause using the attacker-controlled order[0][dir] request parameter. Because the parameter is concatenated into the SQL statement without escaping and the underlying query is not prepared, injected SQL fragments execute against the WordPress database.
The AJAX endpoint enforces only a nonce check for authorization. The waic-nonce used by the endpoint is rendered into the front-end HTML whenever the [waic_form] or [aiwu-form] shortcode is present on a page. Contributor-level users who can publish posts containing these shortcodes can therefore generate a valid nonce and invoke the vulnerable handler. Subscriber-level users can also exploit the flaw when the shortcodes already appear on public pages.
Root Cause
The root cause is insufficient input sanitization combined with the absence of parameterized queries in the plugin's data-table backend. The dir field, expected to be either ASC or DESC, is not validated against an allowlist. It is interpolated directly into the SQL statement responsible for sorting the workspace tasks table (referenced in classes/model.php, classes/table.php, and modules/workspace/models/tasks.php). The AJAX controller in modules/workspace/controller.php compounds the issue by relying solely on nonce verification for authorization, omitting any current_user_can() capability check.
Attack Vector
Exploitation requires network access to the WordPress site and a valid authenticated session at subscriber level or higher. The attacker retrieves the waic-nonce from any page rendering the plugin's shortcodes, or embeds the shortcode in a contributor-authored post to force nonce emission. The attacker then issues a crafted AJAX POST request containing SQL payload data in the order[0][dir] parameter. The injected SQL is appended to the existing ORDER BY clause, allowing UNION-based or time-based extraction of arbitrary rows from the database.
See the Wordfence Vulnerability Report and WordPress Plugin Code Review for technical specifics.
Detection Methods for CVE-2026-13009
Indicators of Compromise
- POST requests to admin-ajax.php with action values tied to the AI Copilot plugin containing suspicious content in the order[0][dir] parameter, such as SQL keywords (UNION, SELECT, SLEEP, BENCHMARK).
- Web server access logs showing repeated AJAX calls originating from low-privilege authenticated sessions.
- Unusual query patterns or errors in the wp_ database logs referencing the plugin's workspace tables.
Detection Strategies
- Inspect HTTP request bodies to wp-admin/admin-ajax.php for non-alphabetic values in order[0][dir]; valid values are strictly ASC or DESC.
- Correlate authenticated subscriber or contributor sessions with AJAX calls that reference AI Copilot actions to detect abuse of low-privilege accounts.
- Deploy a Web Application Firewall (WAF) rule that blocks SQL metacharacters within sort direction parameters on WordPress AJAX endpoints.
Monitoring Recommendations
- Enable WordPress database query logging or use a plugin such as Query Monitor to observe malformed ORDER BY clauses.
- Alert on new post drafts by contributor accounts that contain [waic_form] or [aiwu-form] shortcodes.
- Monitor for outbound data spikes and anomalous authenticated session behavior that may indicate database extraction.
How to Mitigate CVE-2026-13009
Immediate Actions Required
- Update the AI Copilot – Content Generator plugin to the version released after 1.5.4 that includes the fix referenced in the WordPress Changeset Review.
- Audit existing user accounts and remove unnecessary subscriber and contributor registrations.
- Rotate WordPress secrets, database credentials, and any API keys stored in wp_options if exploitation is suspected.
Patch Information
The plugin maintainer addressed the issue in a changeset published on the WordPress plugin repository. Administrators should upgrade to the patched release, which introduces allowlist validation on the dir parameter and uses $wpdb->prepare() for the affected query. Review the WordPress Plugin Code Review for the pre-patch code path.
Workarounds
- Disable the AI Copilot – Content Generator plugin until the patched version can be installed.
- Remove the [waic_form] and [aiwu-form] shortcodes from all public-facing pages to prevent nonce disclosure.
- Restrict WordPress user registration and revoke contributor privileges from untrusted accounts.
- Deploy WAF rules that reject non-alphabetic characters in order[0][dir] parameter values on admin-ajax.php requests.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

