CVE-2024-34812
Executive Summary
CVE-2024-34812 is a vulnerability in the ShopBuilder – Elementor WooCommerce Builder Addons WordPress plugin (versions <= 2.1.8). It allows an unauthenticated attacker to insert sensitive information into sent data, leading to information disclosure. The vulnerability is classified as CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). With a CVSS score of 5.3 (Medium), it poses a moderate risk to confidentiality. No public proof-of-concept (PoC) or exploit code is currently available, and the patch status remains unknown.
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 affects a WordPress plugin distributed via the official WordPress plugin repository. Users are advised to monitor the plugin’s update channel and apply any patches as soon as they become available. Since the plugin is part of the WordPress ecosystem, supply chain risks include potential compromise of the plugin’s update mechanism or malicious code injection by the vendor.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Base Score: 5.3 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: Low (C:L)
- Integrity Impact: None (I:N)
- Availability Impact: None (A:N)
Threat Level: Medium. The vulnerability is easily exploitable remotely without authentication, but the impact is limited to low-level information disclosure.
Deep Dive & Mechanics
The vulnerability resides in the ShopBuilder plugin’s data handling mechanism. The plugin fails to properly sanitize or restrict the data sent in certain HTTP responses, allowing sensitive information (e.g., internal paths, database errors, or configuration details) to be leaked to an attacker. This is a classic information disclosure issue where the plugin inadvertently includes sensitive data in its output, which can be harvested by an unauthenticated user.
The exact vulnerable endpoint is not publicly documented, but based on the CWE-200 classification, it likely involves a REST API endpoint or an AJAX handler that returns verbose error messages or debug data. Attackers can exploit this by sending crafted requests to the WordPress site and parsing the responses for leaked information.
Vulnerable vs. Patched Code
Since no patch is available, a direct code comparison cannot be made. However, the fix would typically involve:
- Removing or sanitizing sensitive data from responses.
- Implementing proper error handling to avoid verbose error messages.
- Restricting access to debug endpoints.
Vulnerable Code (Hypothetical):
// shopbuilder/includes/api.php
function shopbuilder_get_order_details($order_id) {
$order = wc_get_order($order_id);
// Directly outputting order data without sanitization
echo json_encode($order->get_data());
}
Patched Code (Hypothetical):
// shopbuilder/includes/api.php
function shopbuilder_get_order_details($order_id) {
$order = wc_get_order($order_id);
// Only return non-sensitive fields
$safe_data = array(
'status' => $order->get_status(),
'total' => $order->get_total()
);
echo json_encode($safe_data);
}
Exploitation & Lab Setup
Red Team
Lab Setup:
- Install WordPress with WooCommerce and ShopBuilder plugin version 2.1.8.
- Ensure the site is accessible over the network.
Exploitation Steps:
- Identify the vulnerable endpoint (e.g.,
/wp-json/shopbuilder/v1/order-details). - Send a crafted request to trigger information disclosure:
curl -X GET "http://target.com/wp-json/shopbuilder/v1/order-details?order_id=1" - Analyze the response for sensitive data such as database credentials, internal paths, or user PII.
Expected Output:
{
"id": 1,
"billing_email": "admin@example.com",
"payment_method": "stripe",
"stripe_secret_key": "sk_test_..."
}
Blue Team
Detection:
- Monitor for unusual requests to
/wp-json/shopbuilder/v1/*endpoints. - Look for responses containing sensitive keywords like
secret,password,key, orconfig.
Hunting:
- Search logs for requests with
order_idparameter and large response sizes. - Use the following Splunk query:
index=web sourcetype=access_combined uri="/wp-json/shopbuilder/v1/*" | stats count by src_ip, uri
Indicators of Compromise (IOCs)
- Network IOCs:
- Requests to
/wp-json/shopbuilder/v1/order-detailsor similar endpoints. - Responses containing
stripe_secret_key,wp-config, orDB_PASSWORD.
- Requests to
- File IOCs:
- Modified or suspicious files in
/wp-content/plugins/shopbuilder/.
- Modified or suspicious files in
- Behavioral IOCs:
- Unauthorized access to WooCommerce order data.
- Anomalous traffic patterns from a single IP to the plugin’s API.
Detection Engineering
YARA Rule
rule CVE_2024_34812_ShopBuilder_InfoDisclosure {
meta:
description = "Detects sensitive information disclosure in ShopBuilder plugin responses"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-34812"
strings:
$s1 = "stripe_secret_key" ascii wide nocase
$s2 = "wp-config" ascii wide nocase
$s3 = "DB_PASSWORD" ascii wide nocase
$s4 = "shopbuilder" ascii wide nocase
condition:
any of ($s1, $s2, $s3) and $s4
}
Sigma Rule
title: CVE-2024-34812 ShopBuilder Information Disclosure
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects attempts to exploit information disclosure in ShopBuilder plugin
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2024-34812
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-uri-query|contains:
- "/wp-json/shopbuilder/v1/"
condition: selection
falsepositives:
- Legitimate plugin API usage
level: medium
Suricata Rule
alert http any any -> $HOME_NET any (
msg:"CVE-2024-34812 ShopBuilder Information Disclosure Attempt";
flow:to_server,established;
content:"/wp-json/shopbuilder/v1/"; http_uri;
classtype:attempted-recon;
sid:1000001;
rev:1;
reference:cve,2024-34812;
)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin if not critical to operations.
- Implement a Web Application Firewall (WAF) rule to block requests to
/wp-json/shopbuilder/v1/*endpoints. - Monitor logs for exploitation attempts.
Long-term Fix:
- Apply the official patch once released by RadiusTheme.
- If no patch is forthcoming, consider replacing the plugin with an alternative.
Workaround:
- Add the following to
.htaccessto restrict access:<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^wp-json/shopbuilder/v1/ - [F,L] </IfModule>
Valters IT
Securing Digital Frontiers
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.