Brief Summary: CVE-2026-3396 Unauthenticated SQL Injection in WCAPF WooCommerce Ajax Product Filter Plugin

A short review of CVE-2026-3396, a high severity unauthenticated time-based SQL injection in the WCAPF WooCommerce Ajax Product Filter plugin affecting all versions up to and including 4.2.3.

CVE Analysis

5 min read

ZeroPath CVE Analysis
ZeroPath CVE Analysis

2026-04-08

Brief Summary: CVE-2026-3396 Unauthenticated SQL Injection in WCAPF WooCommerce Ajax Product Filter Plugin
Experimental AI-Generated Content

This CVE analysis is an experimental publication that is completely AI-generated. The content may contain errors or inaccuracies and is subject to change as more information becomes available. We are continuously refining our process.

If you have feedback, questions, or notice any errors, please reach out to us.

[email protected]

Introduction

An unauthenticated time-based SQL injection in the WCAPF WooCommerce Ajax Product Filter plugin gives remote attackers a direct path to extracting sensitive database contents from any affected WooCommerce store, no login required. With over 9,000 active installations and the technical details now public, this is a vulnerability that WooCommerce site operators need to address promptly.

WCAPF (Ajax Product Filter for WooCommerce) is a WordPress plugin that provides AJAX powered product filtering for WooCommerce storefronts, allowing customers to narrow product listings by attributes such as price, category, and author. While not among the largest WooCommerce extensions, its 9,000+ active installations mean a meaningful number of e-commerce sites are potentially exposed. The plugin is maintained by a single developer, Mainul Hassan, and is listed on the official WordPress plugin repository.

Technical Information

CVE-2026-3396 is classified under CWE-89 (Improper Neutralization of Special Elements used in an SQL Command). The root cause is straightforward: the plugin fails to properly escape user supplied input and does not use prepared statements when constructing SQL queries that include the post-author filter parameter.

Vulnerable Code Path

The vulnerability resides in class-wcapf-product-filter.php. The plugin retrieves filter parameters by calling parse_str on the raw $_SERVER['QUERY_STRING'], which populates variables directly from the URL without any sanitization layer. When the filter_type is post-author, the extracted value flows into SQL query construction logic at multiple points in the file (lines 65, 81, 689, and 739 are all referenced in the advisory).

Because the value is neither escaped nor passed through WordPress's $wpdb->prepare() method, an attacker can inject arbitrary SQL fragments into the query.

Attack Flow

The exploitation sequence works as follows:

  1. Reconnaissance: The attacker identifies a WooCommerce site running WCAPF version 4.2.3 or earlier. Plugin detection is trivial through standard WordPress fingerprinting techniques.

  2. Payload Delivery: The attacker crafts an HTTP request to the site's product filter endpoint, injecting a time-based blind SQL injection payload into the post-author query string parameter. No authentication cookies or tokens are needed.

  3. Query Manipulation: The plugin's class-wcapf-product-filter.php parses the query string and passes the tainted post-author value directly into a SQL query. The injected SQL is appended to the existing query and executed against the WordPress database.

  4. Data Extraction: By measuring response time differences (the hallmark of time-based blind SQLi), the attacker can infer database contents one character at a time. Targets include the wp_users table (usernames, password hashes, email addresses), WooCommerce order tables (customer names, addresses, order details), and any other data stored in the WordPress database.

CVSS Breakdown

The CVSS 3.1 score of 7.5 reflects the following vector: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.

MetricValueDescription
Attack VectorNetworkExploitable remotely over the internet
Attack ComplexityLowNo specialized conditions required
Privileges RequiredNoneUnauthenticated exploitation
User InteractionNoneNo victim interaction needed
ScopeUnchangedConfined to the vulnerable component
ConfidentialityHighFull database extraction possible
IntegrityNoneNo direct data modification
AvailabilityNoneNo denial of service impact

The scoring confirms that the sole impact axis is confidentiality, which is especially consequential for e-commerce databases containing customer PII and payment metadata.

Affected Systems and Versions

All versions of the WCAPF (WooCommerce Ajax Product Filter) plugin up to and including version 4.2.3 are vulnerable. The vulnerability was patched in version 4.3.0, released on March 16, 2026. The latest available version at the time of writing is 4.4.0.

Specifically:

  • Vulnerable: WCAPF versions <= 4.2.3
  • Patched: WCAPF version 4.3.0 and later
  • Recommended: WCAPF version 4.4.0 (latest, includes additional escaping and coding standards improvements)
  • Platform: WordPress sites running WooCommerce with the WCAPF plugin active
  • Tested compatibility: WordPress up to version 6.9.4

Vendor Security History

CVE-2026-3396 is the only cataloged vulnerability for the WCAPF plugin in the Wordfence threat intelligence database. This suggests a generally clean security track record for the plugin. The vendor responded well to this disclosure: the patch in version 4.3.0 was released approximately three weeks before Wordfence publicly disclosed the vulnerability on April 7, 2026, indicating responsible coordination between the researcher and the maintainer.

That said, the plugin is maintained by a single developer, which is a common pattern in the WordPress ecosystem and one that warrants additional caution. Organizations relying on single maintainer plugins should ensure they have automated update mechanisms or monitoring in place.

References

Detect & fix
what others miss

Security magnifying glass visualization