Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2019-25746

CVE-2019-25746: Sliced Invoices SQL Injection Flaw

CVE-2019-25746 is an authenticated SQL injection vulnerability in WordPress Sliced Invoices 3.8.2 allowing attackers to manipulate database queries. This post covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2019-25746 Overview

CVE-2019-25746 is an authenticated SQL injection vulnerability in the WordPress Sliced Invoices plugin version 3.8.2. Authenticated attackers can inject SQL code through the post parameter when calling the admin.php endpoint with action=duplicate_quote_invoice. The flaw enables extraction of sensitive database content and unauthorized data modification. The vulnerability is classified under CWE-89 (Improper Neutralization of Special Elements used in an SQL Command).

Critical Impact

Authenticated attackers can read or alter arbitrary database rows in WordPress sites running Sliced Invoices 3.8.2, exposing customer records, invoices, and credentials stored in the database.

Affected Products

  • WordPress Sliced Invoices plugin version 3.8.2
  • WordPress installations with the Sliced Invoices plugin enabled
  • Sites granting low-privileged authenticated users access to invoice management actions

Discovery Timeline

  • 2026-06-15 - CVE-2019-25746 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2019-25746

Vulnerability Analysis

The vulnerability resides in the Sliced Invoices duplicate_quote_invoice action handler. The handler reads the post request parameter and concatenates it directly into an SQL query without parameterization or sanitization. An authenticated user can send a crafted request to admin.php?action=duplicate_quote_invoice with a malicious post value to alter the resulting query.

Because the parameter feeds directly into a query, attackers can append UNION SELECT clauses or subqueries to exfiltrate data from any table the WordPress database user can read. This typically includes wp_users, wp_usermeta, and plugin tables containing client and invoice records.

Root Cause

The root cause is the absence of prepared statements or input validation on the post parameter. The plugin trusts authenticated user input and passes it into the database layer without using $wpdb->prepare(). WordPress provides parameterized query APIs, but the affected code path bypasses them.

Attack Vector

Exploitation requires a valid authenticated session with access to the duplicate-invoice action. The attacker sends an HTTP request to the WordPress admin endpoint with action=duplicate_quote_invoice and an injected SQL payload in post. The injected SQL executes with the privileges of the WordPress database user. A public proof of concept is available at Exploit-DB #47540 and additional technical detail is documented in the VulnCheck SQL Injection Advisory.

Detection Methods for CVE-2019-25746

Indicators of Compromise

  • HTTP requests to wp-admin/admin.php containing action=duplicate_quote_invoice with non-numeric or SQL-meta-character values in the post parameter
  • Web server logs showing UNION, SELECT, SLEEP(, or comment markers (--, #) inside the post query string
  • Database errors or unusually long response times tied to invoice duplication endpoints
  • Unexpected reads against wp_users or wp_usermeta originating from the plugin's database connection

Detection Strategies

  • Inspect web application firewall (WAF) logs for SQL keywords appearing in the post parameter of duplicate-invoice requests
  • Enable WordPress query logging and alert on queries containing tautologies such as OR 1=1 near plugin-generated SQL
  • Correlate authenticated session activity with anomalous database query patterns originating from the Sliced Invoices plugin

Monitoring Recommendations

  • Monitor WordPress audit logs for low-privileged accounts triggering invoice duplication actions
  • Track outbound responses with unusually large payloads on the admin.php endpoint, indicating potential data exfiltration
  • Alert on repeated failed or malformed requests to action=duplicate_quote_invoice, which often precede successful injection

How to Mitigate CVE-2019-25746

Immediate Actions Required

  • Upgrade the Sliced Invoices plugin to the latest version available on the WordPress Plugin Page
  • Audit all WordPress accounts with access to invoice management and remove unused or low-trust users
  • Review database logs for evidence of prior exploitation against the duplicate_quote_invoice action
  • Rotate database credentials and WordPress secrets if compromise is suspected

Patch Information

Users should update the Sliced Invoices plugin to a version newer than 3.8.2. Refer to the Sliced Invoices Homepage and the VulnCheck SQL Injection Advisory for the latest vendor guidance and fixed releases.

Workarounds

  • Disable the Sliced Invoices plugin until a patched version can be installed
  • Deploy WAF rules that block SQL meta-characters in the post parameter on requests to admin.php?action=duplicate_quote_invoice
  • Restrict access to the WordPress admin interface using IP allow-listing or VPN-only access
  • Apply principle of least privilege to the WordPress database user, removing write access to tables not required by the application

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.