Safeguard
Vulnerability Analysis•

CVE-2024-1514: Critical SQL Injection in WP eCommerce Plugin

CVE-2024-1514 is an unauthenticated time-based blind SQL injection in the WP eCommerce plugin up to 3.15.1. Update past 3.15.1 or remove the plugin.

Safeguard Security Team
3 min read

CVE-2024-1514 is a critical (CVSS 9.8) time-based blind SQL injection in the WP eCommerce plugin for WordPress, versions up to and including 3.15.1. Unauthenticated attackers can append SQL through the cart_contents parameter to extract data from the database. Update to a release newer than 3.15.1, or remove the plugin.

What's affected

The record says all versions of the WP eCommerce plugin up to and including 3.15.1 are affected. The record names no fixed version. Its references are a line of plugin source code and a Wordfence entry, which I did not retrieve.

Check the plugin's changelog on WordPress.org for the first release after 3.15.1. If the plugin has no newer release, treat the site as exposed and plan to remove the plugin or replace the store.

No login is needed to reach the vulnerable parameter, so every internet-facing store running the plugin is in scope.

How to check if you're exposed

List the plugin version with WP-CLI:

wp plugin list --name=wp-e-commerce --fields=name,status,version

A version at or below 3.15.1 is affected. Also look in your web server and database logs for requests with unusually slow responses on cart pages, because time-based blind injection works by measuring delays.

To check a whole codebase at once, run the free in-browser dependency scan at gold.safeguard.sh/scan. You can also look up the CVE in the Gold directory, and use reachability analysis to see whether your code calls the affected path.

What to do now

  1. Confirm the plugin version on every WordPress site you run.
  2. Update to the first release after 3.15.1, or deactivate and remove the plugin if none exists.
  3. Put a web application firewall rule in front of the cart endpoints as a stop gap.
  4. Review database accounts used by WordPress and remove privileges it does not need.
  5. Rotate administrator passwords and review user accounts if you saw suspicious traffic.

Why it matters

The record classes this as CWE-89, SQL injection. A request parameter was placed into a query without enough escaping and without a prepared statement, so the attacker's text became part of the SQL.

Blind injection is slower than the visible kind, but it still reads the whole database, including customer records and password hashes. For a shop this means personal and order data. The score of 9.8 reflects network access, no privileges and no user interaction. The record's KEV flag is false.

Quick check

Do attackers need an account?

No. The record says unauthenticated attackers can use it.

What does time-based blind mean?

The attacker learns data by watching how long responses take, rather than reading query results directly.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.