CVE-2026-9065 Overview
CVE-2026-9065 is an authenticated SQL injection vulnerability affecting SureCart versions prior to 4.2.1. The flaw resides in the REST API endpoint /surecart/v1/integrations/{id} and impacts the model_name, model_id, integration_id, and provider parameters. Authenticated attackers can extract arbitrary data from the WordPress database through UNION-based SQL injection. The vulnerability is classified under CWE-89 (Improper Neutralization of Special Elements used in an SQL Command).
Critical Impact
Authenticated attackers can exfiltrate the entire WordPress database, including user credentials, session tokens, and sensitive customer data stored by SureCart.
Affected Products
- SureCart plugin for WordPress, versions prior to 4.2.1
- WordPress sites running the vulnerable wp-query-builder component
- E-commerce deployments exposing the SureCart REST API
Discovery Timeline
- 2026-05-20 - CVE-2026-9065 published to NVD
- 2026-05-20 - Last updated in NVD database
Technical Details for CVE-2026-9065
Vulnerability Analysis
The vulnerability stems from a flawed escaping bypass in SureCart's wp-query-builder component. The query builder applies $wpdb->prepare() sanitization to values passed to the where() method only when those values do not contain a dot character (.) or the WordPress table prefix (wp_). Attackers exploit this conditional logic by including a dot anywhere in the payload, which causes the builder to skip sanitization entirely. The unsanitized input then flows directly into the WHERE clause of the generated SQL statement.
Four parameters on the REST API endpoint /surecart/v1/integrations/{id} accept attacker-controlled values: model_name, model_id, integration_id, and provider. Each parameter reaches the vulnerable where() method without independent validation. UNION-based payloads enable full database extraction.
Root Cause
The wp-query-builder library implements an exclusion-based sanitization model rather than a strict allowlist. The author appears to have intended the dot and wp_ checks to permit fully qualified column references such as wp_posts.ID. The implementation inverts the safe default, treating any value containing those substrings as pre-trusted and bypassing prepared statement binding.
Attack Vector
The attacker authenticates to the WordPress instance and issues a crafted request to the /surecart/v1/integrations/{id} REST endpoint. Including a dot in any of the four vulnerable parameters disables $wpdb->prepare() enforcement. The injected SQL is concatenated into the WHERE clause and executed against the WordPress database. Refer to the Tenable Security Research advisory for proof-of-concept details.
Detection Methods for CVE-2026-9065
Indicators of Compromise
- REST API requests to /wp-json/surecart/v1/integrations/ containing SQL keywords such as UNION, SELECT, INFORMATION_SCHEMA, or SLEEP in the model_name, model_id, integration_id, or provider parameters
- Request payloads with dot characters embedded in parameters that would normally hold simple identifiers
- Unusual outbound database response sizes correlated with calls to the integrations endpoint
Detection Strategies
- Inspect WordPress access logs and reverse proxy logs for POST, PUT, or PATCH requests targeting the SureCart integrations endpoint with suspicious parameter values
- Enable MySQL general query logging temporarily and search for UNION SELECT statements originating from wp_sc_ related queries
- Deploy WAF signatures that flag dot-prefixed SQL metacharacters arriving at the SureCart REST namespace
Monitoring Recommendations
- Alert on authenticated REST API calls from accounts that do not normally manage SureCart integrations
- Monitor for sudden spikes in row reads against tables containing user, order, or token data
- Track creation of new administrative WordPress accounts following requests to the integrations endpoint
How to Mitigate CVE-2026-9065
Immediate Actions Required
- Upgrade SureCart to version 4.2.1 or later on all WordPress sites
- Audit existing WordPress user accounts and revoke credentials for any low-trust authenticated users with API access
- Rotate WordPress secret keys, API tokens, and database credentials if exploitation is suspected
- Review WordPress audit logs for unauthorized changes to the wp_users and wp_usermeta tables
Patch Information
The vendor addressed the vulnerability in SureCart 4.2.1. The patch hardens the where() method in wp-query-builder so that all user-supplied values pass through $wpdb->prepare() regardless of content. Apply the update through the WordPress plugin manager or via WP-CLI. See the Tenable Security Research advisory for additional remediation guidance.
Workarounds
- Restrict access to the /surecart/v1/integrations/{id} REST endpoint via WAF rules until the patch is applied
- Limit SureCart administrative capabilities to a small set of trusted accounts
- Block requests where SureCart REST parameters contain dot characters or SQL metacharacters
# Update SureCart via WP-CLI to the patched release
wp plugin update surecart --version=4.2.1
wp plugin list --name=surecart --fields=name,status,version
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


