CVE-2026-16593 Overview
CVE-2026-16593 is a SQL injection vulnerability [CWE-89] in the WP Directory Kit WordPress plugin through version 1.5.7. The plugin fails to sanitize and escape widget settings before incorporating them into SQL statements. Authenticated users with page builder access (Editor role and above) can inject arbitrary SQL that executes when the affected page is rendered. The flaw exposes the WordPress database backend to unauthorized query execution by trusted-but-not-administrative users.
Critical Impact
Editor-level accounts can extract sensitive database contents, including user credentials and configuration data, by injecting SQL through widget settings persisted in the page builder.
Affected Products
- WP Directory Kit WordPress plugin versions through 1.5.7
- WordPress sites using the plugin with Editor or higher roles delegated to untrusted users
- Multisite installations where page builder access is broadly granted
Discovery Timeline
- 2026-09-15 - CVE-2026-16593 published to the National Vulnerability Database
- 2026-09-16 - Last updated in NVD database
Technical Details for CVE-2026-16593
Vulnerability Analysis
The vulnerability resides in how WP Directory Kit processes widget configuration values submitted through the page builder interface. Widget settings are stored as post metadata and later interpolated into SQL statements without parameterization or escaping. When a visitor requests a page containing an affected widget, the plugin builds and executes the tainted query against the WordPress database.
Because the injection point is persistent, the attacker only needs one authenticated save action. Every subsequent render of the page reissues the malicious query. This design amplifies exposure across cached views, sitemaps, and preview requests.
The attack requires an authenticated account with page builder rights, which in WordPress defaults to the Editor role or above. Exploitation does not require administrative privileges, expanding the pool of accounts that can trigger the flaw. Successful injection can enumerate database schema, exfiltrate arbitrary rows, and read credentials stored in wp_users and wp_usermeta.
Root Cause
The root cause is missing input sanitization on widget setting parameters. The plugin concatenates user-controlled strings directly into SQL statements instead of using the WordPress $wpdb->prepare() API. This is a classic CWE-89 pattern where trust in the authoring role is conflated with trust in the input data.
Attack Vector
An attacker authenticates to WordPress with an Editor or higher account and opens the WP Directory Kit widget in the page builder. The attacker enters SQL payload fragments into vulnerable widget settings and saves the page. When the page is rendered, the injected SQL executes with the privileges of the WordPress database user, typically full read and write access to the site database.
See the WPScan Vulnerability Report for additional technical detail on the affected widget parameters.
Detection Methods for CVE-2026-16593
Indicators of Compromise
- Unexpected SQL syntax such as UNION SELECT, SLEEP(, or comment sequences appearing in wp_postmeta values tied to WP Directory Kit widgets
- Anomalous MySQL slow query log entries generated during rendering of pages containing the plugin's widgets
- Post revisions authored by Editor accounts that modify widget configuration on directory pages
- Outbound requests from the web server following page render events, suggesting data exfiltration via SQL
Detection Strategies
- Audit wp_postmeta rows referencing WP Directory Kit widget keys for SQL metacharacters and control sequences
- Enable MySQL general or slow query logging and grep for queries containing unexpected UNION, INFORMATION_SCHEMA, or timing functions during page renders
- Review WordPress audit logs for widget edits by Editor accounts on pages that render publicly
Monitoring Recommendations
- Instrument web application firewall (WAF) rules to flag SQL keywords submitted through admin-ajax.php and page builder save endpoints
- Alert on database errors surfaced in PHP error logs during frontend requests to directory pages
- Track privilege changes that elevate accounts to Editor or above and correlate with subsequent widget edits
How to Mitigate CVE-2026-16593
Immediate Actions Required
- Update WP Directory Kit to a version later than 1.5.7 once the vendor publishes a patched release
- Restrict the Editor role assignment to trusted users and audit existing Editor and Administrator accounts
- Review recent widget edits on pages using WP Directory Kit and revert suspicious configurations
Patch Information
As of the NVD publication date, the WPScan advisory identifies all versions through 1.5.7 as vulnerable. Site operators should monitor the WPScan Vulnerability Report and the plugin's WordPress.org listing for a fixed release, then upgrade immediately.
Workarounds
- Deactivate the WP Directory Kit plugin until a patched version is available if directory functionality is not business-critical
- Downgrade Editor accounts to Author or Contributor to remove page builder access to vulnerable widgets
- Deploy a WAF rule that blocks SQL syntax in POST parameters targeting the plugin's widget save endpoints
- Enable database user least privilege by restricting the WordPress database account from executing FILE or cross-database queries
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

