CVE-2026-42383
Executive Summary
CVE-2026-42383 is a critical Blind SQL Injection vulnerability discovered in the YITH WooCommerce Product Add-Ons plugin for WordPress. This flaw allows an unauthenticated attacker to inject arbitrary SQL commands through improperly neutralized special elements in the plugin’s input handling. The vulnerability affects all versions from n/a through 4.29.0. With a CVSS score of 7.6, it poses a high risk to confidentiality and a moderate risk to integrity and availability. No public proof-of-concept or exploit code has been released at this time, but the EPSS score of 0.0% suggests low exploitation activity. As a WordPress plugin vulnerability, it is critical for site administrators to apply virtual patching or disable the plugin until an official fix is available.
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.
No signup required
Supply Chain & Package Security
This vulnerability resides in a WordPress plugin distributed via the official WordPress plugin repository and third-party marketplaces. Organizations using this plugin should verify their version and consider removing it if no patch is available. The plugin is not managed via NPM, PyPI, Go, or Ruby, but its inclusion in a WordPress site introduces supply chain risk through the plugin’s update mechanism.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – The vulnerable component remains the same.
- Confidentiality (C): High (H) – Full database read access possible.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): Low (L) – Potential for denial of service via SQL injection.
Threat Level: High – Unauthenticated remote exploitation with high confidentiality impact.
Deep Dive & Mechanics
The vulnerability stems from improper neutralization of special elements used in SQL commands within the YITH WooCommerce Product Add-Ons plugin. The plugin likely fails to sanitize user-supplied input before incorporating it into SQL queries, allowing an attacker to inject malicious SQL statements. Because this is a blind SQL injection, the attacker cannot see direct error messages but can infer database contents through boolean-based or time-based techniques.
The vulnerable parameter is likely passed via HTTP POST or GET requests to the plugin’s AJAX endpoints or product add-on processing functions. The attacker can manipulate input fields such as product options, quantities, or custom fields to inject SQL commands. The database backend (typically MySQL) executes the injected commands, enabling data exfiltration, authentication bypass, or other malicious actions.
Vulnerable vs. Patched Code
Vulnerable Code (Example):
$product_id = $_POST['product_id'];
$query = "SELECT * FROM wp_postmeta WHERE post_id = $product_id";
$result = $wpdb->get_results($query);
In this example, the $product_id variable is directly concatenated into the SQL query without sanitization.
Patched Code (Hypothetical):
$product_id = intval($_POST['product_id']);
$query = $wpdb->prepare("SELECT * FROM wp_postmeta WHERE post_id = %d", $product_id);
$result = $wpdb->get_results($query);
The patched version uses intval() to ensure the input is an integer and $wpdb->prepare() to safely parameterize the query.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Environment:
- WordPress 6.x with YITH WooCommerce Product Add-Ons 4.29.0
- MySQL 8.x database
- Kali Linux attacker machine
Exploitation Steps:
- Identify the vulnerable endpoint (e.g.,
/wp-admin/admin-ajax.phpwith actionyith_wc_product_add_ons_process). - Craft a malicious POST request with a time-based blind SQL injection payload:
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
action=yith_wc_product_add_ons_process&product_id=1 AND IF(1=1,SLEEP(5),0)
- Observe response delay to confirm injection.
- Use a tool like sqlmap to automate data extraction:
sqlmap -u "http://target.com/wp-admin/admin-ajax.php" --data="action=yith_wc_product_add_ons_process&product_id=1" --technique=T --batch --dbs
Blue Team (Defensive)
Detection:
- Monitor for unusual SQL query patterns in database logs.
- Look for HTTP requests containing
SLEEP,BENCHMARK, orOR 1=1in parameters. - Use WAF rules to block common SQL injection patterns.
Mitigation:
- Disable the plugin until a patch is available.
- Implement virtual patching via WAF (e.g., ModSecurity rule to block
product_idparameter containing SQL keywords). - Restrict access to AJAX endpoints to authenticated users if possible.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to
/wp-admin/admin-ajax.phpwithaction=yith_wc_product_add_ons_processand suspiciousproduct_idvalues. - SQL queries containing
SLEEP(),BENCHMARK(), orUNION SELECTin database logs.
- HTTP requests to
- File IOCs:
- Modified plugin files in
/wp-content/plugins/yith-woocommerce-product-add-ons/. - Unexpected database entries in
wp_postmetaorwp_optionstables.
- Modified plugin files in
- Behavioral IOCs:
- Unusual database load or slow response times.
- Unauthorized data exports from the database.
Detection Engineering
YARA Rule
rule CVE_2026_42383_Blind_SQLi {
meta:
description = "Detects blind SQL injection attempts against YITH WooCommerce Product Add-Ons"
author = "Valters IT"
date = "2026-01-01"
reference = "CVE-2026-42383"
strings:
$s1 = "yith_wc_product_add_ons_process" ascii wide nocase
$s2 = "product_id" ascii wide nocase
$s3 = "SLEEP(" ascii wide nocase
$s4 = "BENCHMARK(" ascii wide nocase
$s5 = "OR " ascii wide nocase
condition:
all of ($s1, $s2) and any of ($s3, $s4, $s5)
}
Sigma Rule
title: Blind SQL Injection Attempt Against YITH WooCommerce Product Add-Ons
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with SQL injection patterns targeting the YITH plugin
author: Valters IT
date: 2026-01-01
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'action=yith_wc_product_add_ons_process'
cs-uri-query|contains: 'product_id'
cs-uri-query|contains|any:
- 'SLEEP('
- 'BENCHMARK('
- 'OR '
- 'AND '
condition: selection
falsepositives:
- Legitimate use of product IDs with similar patterns (rare)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2026-42383 Blind SQL Injection Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=yith_wc_product_add_ons_process"; http_client_body; content:"product_id"; http_client_body; pcre:"/(SLEEP\(|BENCHMARK\(|OR\s|AND\s)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin – Deactivate and remove YITH WooCommerce Product Add-Ons until a patched version is released.
- Apply virtual patching – Use a Web Application Firewall (WAF) to block SQL injection patterns targeting the vulnerable parameter.
- Review database logs – Check for any signs of exploitation and rotate credentials if necessary.
Long-term Fix:
- Monitor the vendor’s website for an official patch. Once available, update to the latest version immediately.
- Implement input validation and parameterized queries in all custom WordPress plugins.
- Conduct regular security audits of third-party plugins.
Valters IT Signature This report was generated by Valters IT Cyber Threat Intelligence Division. For questions, contact threatintel@valtersit.com.