Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-15906

CVE-2026-15906: Premium Packages WordPress SQLI Vulnerability

CVE-2026-15906 is a SQL injection flaw in the Premium Packages WordPress plugin affecting versions up to 7.0.4. Attackers with admin access can extract sensitive database information. This article covers technical details.

Published:

CVE-2026-15906 Overview

CVE-2026-15906 is a SQL Injection vulnerability in the Premium Packages – Sell Digital Products Securely plugin for WordPress. The flaw affects all versions up to and including 7.0.4. It stems from insufficient escaping of the user-supplied orderby parameter and lack of proper preparation on the underlying SQL query. Authenticated attackers with administrator-level access can append arbitrary SQL to existing queries. Successful exploitation lets attackers extract sensitive data from the WordPress database, including user credentials, session tokens, and customer records tied to digital product sales.

Critical Impact

Authenticated administrators can inject arbitrary SQL through the orderby parameter and exfiltrate confidential data from the WordPress database.

Affected Products

  • Premium Packages – Sell Digital Products Securely plugin for WordPress
  • All versions up to and including 7.0.4
  • Files affected: src/Admin/Order/views/list-order-renews.php and src/Order/OrderService.php

Discovery Timeline

  • 2026-07-23 - CVE-2026-15906 published to NVD
  • 2026-07-23 - Last updated in NVD database

Technical Details for CVE-2026-15906

Vulnerability Analysis

The vulnerability is a classic SQL Injection flaw categorized under [CWE-89]. It exists in the order-renewal listing logic of the Premium Packages plugin, specifically at list-order-renews.php (lines 51 and 53) and OrderService.php (line 314). The plugin accepts the orderby HTTP parameter and concatenates its value into a SQL statement without applying esc_sql(), wpdb::prepare(), or an allow-list of valid column names.

Because ORDER BY clauses cannot be parameterized by prepared statements in the same way as value expressions, developers must validate the column identifier against a known list. The plugin skips this step, leaving the query open to injection through appended SQL fragments such as UNION SELECT payloads or subqueries. Exploitation requires admin-level authentication, which limits the attacker population but does not eliminate risk. Compromised administrator accounts, insider threats, and multi-admin sites with weakly protected roles all provide viable exploitation paths.

Root Cause

The root cause is improper neutralization of special elements used in a SQL command. The plugin trusts the orderby request parameter and passes it directly into a query string. Neither escaping nor a column allow-list is applied before execution.

Attack Vector

Exploitation occurs over the network through the WordPress admin interface. An authenticated administrator submits a crafted orderby value to the vulnerable order-renewals view. The malicious payload is appended to the existing SQL statement and executed with the plugin's database privileges. The attacker uses UNION-based or error-based techniques to read arbitrary tables in the WordPress database.

// No verified proof-of-concept code is publicly available.
// See the Wordfence Threat Intelligence advisory and the WordPress
// plugin source references for the vulnerable code paths.

Detection Methods for CVE-2026-15906

Indicators of Compromise

  • HTTP requests to WordPress admin pages containing orderby parameter values with SQL keywords such as UNION, SELECT, SLEEP, BENCHMARK, or inline comments (--, /*).
  • Unusual wpdb query errors in PHP or web server logs referencing malformed ORDER BY clauses.
  • Unexpected outbound data flows or large query result sets originating from the WordPress database host.
  • Administrator sessions issuing repeated requests to list-order-renews.php with varying orderby payloads.

Detection Strategies

  • Inspect web access logs for admin-authenticated requests containing non-alphanumeric characters or SQL syntax in the orderby query string.
  • Enable and review WordPress database query logging to catch malformed or anomalous ORDER BY clauses.
  • Deploy a web application firewall rule that blocks SQL metacharacters in the orderby parameter for /wp-admin/ endpoints.

Monitoring Recommendations

  • Monitor for privilege escalations and creation of new administrator accounts on WordPress sites running the plugin.
  • Alert on file integrity changes in wp-content/plugins/wpdm-premium-packages/.
  • Track authentication events for administrator accounts, especially from new IP addresses or geolocations.

How to Mitigate CVE-2026-15906

Immediate Actions Required

  • Update the Premium Packages – Sell Digital Products Securely plugin to a version later than 7.0.4 as soon as the vendor publishes a fix.
  • Audit all WordPress administrator accounts and remove unused or dormant admin privileges.
  • Enforce multi-factor authentication for every administrator account to reduce credential-based abuse.
  • Review database logs for evidence of prior SQL injection attempts using the orderby parameter.

Patch Information

Refer to the WordPress Code Changeset and the Wordfence Vulnerability Intelligence entry for the latest fix status. Vulnerable source lines are documented in list-order-renews.php at line 51 and line 53, and in OrderService.php at line 314.

Workarounds

  • Deactivate the Premium Packages plugin until a patched version is installed if it is not business-critical.
  • Restrict access to the WordPress admin dashboard by IP allow-list at the web server or WAF layer.
  • Add a WAF rule to reject requests where the orderby parameter contains any character outside [A-Za-z0-9_].
  • Apply the principle of least privilege by limiting the WordPress database user's permissions to only required tables.
bash
# Example ModSecurity rule to block SQL metacharacters in orderby
SecRule ARGS:orderby "@rx [^A-Za-z0-9_]" \
    "id:1015906,phase:2,deny,status:403,\
    msg:'CVE-2026-15906 - Invalid orderby parameter'"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.