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

CVE-2025-54674

CVE-2025-54674 Cross-Site Request Forgery in Mklacroix
📅 PUBLISHED: 2025-08-14 11:15 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.08%
👁️
0.08% probability
2.1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.4
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: L Confidentiality Low
I: L Integrity Low
A: N Availability None
5.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54674 is a Cross-Site Request Forgery (CSRF) vulnerability in the WordPress plugin Product Configurator for WooCommerce by vendor Mklacroix. This flaw allows an attacker to trick an authenticated administrator into performing unintended actions, such as modifying product configurations or settings, without their consent. The vulnerability affects all versions up to and including 1.4.4. As of this report, no official patch is available, and the vendor's patch status is marked as UNKNOWN/UNPATCHED. The CVSS score is 5.4 (Medium), with low attack complexity and no privileges required, but user interaction is necessary. This report provides a comprehensive technical analysis, detection rules, and exploitation guidance for both Red and Blue teams.

⚡ 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 via the official WordPress plugin repository and third-party marketplaces. Organizations using this plugin should verify its integrity by checking checksums or signatures if provided by the vendor. Since no patch is available, supply chain risk is elevated, and users should consider disabling the plugin until a fix is released.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
  • Base Score: 5.4 (Medium)
  • Attack Vector: Network (AV:N) – The attack can be 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 malicious link or visit a crafted page.
  • Scope: Unchanged (S:U) – The vulnerability does not affect other components.
  • Confidentiality Impact: Low (C:L) – Limited information disclosure possible.
  • Integrity Impact: Low (I:L) – Limited modification of data possible.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Medium. The requirement for user interaction reduces the likelihood of automated exploitation, but the lack of a patch increases the risk for unmitigated installations.

Deep Dive & Mechanics

The vulnerability resides in the Product Configurator for WooCommerce plugin, which extends WooCommerce to allow customers to configure products (e.g., selecting options, colors, sizes). The plugin fails to implement proper CSRF tokens or nonces on sensitive administrative actions, such as saving configuration templates, updating settings, or modifying product options.

Attack Flow:

  1. An attacker crafts a malicious HTML page or email containing a forged request (e.g., a form submission or image tag) that targets a vulnerable endpoint in the plugin.
  2. The attacker lures an authenticated WordPress administrator to visit the crafted page.
  3. The victim's browser automatically sends the forged request, including the victim's session cookies, to the WordPress site.
  4. The plugin processes the request without verifying its origin, leading to unauthorized actions (e.g., changing product prices, deleting configurations, or injecting malicious settings).

Root Cause: The plugin does not implement CSRF protection (nonces) on POST requests for administrative functions. This is a common oversight in WordPress plugin development, where developers rely on cookies for authentication but neglect to validate the request's origin.

Vulnerable vs. Patched Code

Since no official patch is available, we can only analyze the vulnerable code pattern. A typical vulnerable endpoint might look like:

Vulnerable Code (PHP):

// In admin-ajax.php or similar
add_action('wp_ajax_save_configuration', 'save_configuration_callback');
function save_configuration_callback() {
    // No nonce check
    $config_data = $_POST['config'];
    update_option('product_configurator_settings', $config_data);
    wp_die('Saved');
}

Patched Code (Hypothetical):

add_action('wp_ajax_save_configuration', 'save_configuration_callback');
function save_configuration_callback() {
    // Add nonce verification
    if (!wp_verify_nonce($_POST['_wpnonce'], 'save_configuration_nonce')) {
        wp_die('CSRF validation failed');
    }
    $config_data = $_POST['config'];
    update_option('product_configurator_settings', $config_data);
    wp_die('Saved');
}

The patch would require adding wp_verify_nonce() checks on all state-changing actions and including a nonce field in the corresponding forms.

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Install WordPress with WooCommerce and Product Configurator for WooCommerce version 1.4.4.
  2. Create an admin user account.
  3. Set up a local web server (e.g., Apache/Nginx) to host the attacker's malicious page.

Exploitation Steps:

  1. Identify a vulnerable endpoint. For example, the plugin might have an AJAX action product_configurator_save_settings that accepts POST data.
  2. Craft a malicious HTML page that automatically submits a form to the vulnerable endpoint:
<html>
<body>
<form id="csrf_form" action="http://target-site.com/wp-admin/admin-ajax.php" method="POST">
    <input type="hidden" name="action" value="product_configurator_save_settings">
    <input type="hidden" name="config[price]" value="0.01">
    <input type="hidden" name="config[enabled]" value="false">
</form>
<script>
document.getElementById('csrf_form').submit();
</script>
</body>
</html>
  1. Host this page on an attacker-controlled server.
  2. Send a phishing email to the admin with a link to the malicious page.
  3. When the admin clicks the link, the form auto-submits, changing the product configuration.

Note: Since no public exploit code is available, this is a generic CSRF exploitation example. The exact endpoint and parameters must be determined through reconnaissance.

Blue Team

Detection Steps:

  1. Monitor for unusual POST requests to admin-ajax.php or admin-post.php from external referrers.
  2. Look for spikes in configuration changes or settings modifications without corresponding admin activity.
  3. Analyze server logs for requests with missing or invalid nonce parameters.

Hunting Query (Splunk):

index=web sourcetype=access_combined
| search uri_path="/wp-admin/admin-ajax.php" action=POST
| eval referer_domain=lower(replace(referer, "https?://([^/]+).*", "\1"))
| search referer_domain!="yourdomain.com"
| table _time, clientip, referer, uri, form_data

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /wp-admin/admin-ajax.php with action=product_configurator_* parameters from unexpected referrers.
    • Unusual User-Agent strings (e.g., empty or automated tools) targeting the plugin's endpoints.
  • File IOCs:
    • Modified options in the wp_options table with keys like product_configurator_settings.
    • Unexpected files in /wp-content/uploads/product-configurator/ (if the plugin stores uploads).
  • Behavioral IOCs:
    • Sudden changes to product prices or configurations without admin login.
    • Multiple failed nonce validation attempts in logs.

Detection Engineering

YARA Rule

rule CVE_2025_54674_CSRF_WordPress {
    meta:
        description = "Detects vulnerable Product Configurator for WooCommerce plugin files"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-54674"
    strings:
        $vuln_func = "add_action('wp_ajax_" nocase
        $no_nonce = "wp_verify_nonce" nocase
    condition:
        $vuln_func and not $no_nonce
}

Sigma Rule

title: CVE-2025-54674 CSRF Exploitation Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential CSRF attacks against Product Configurator for WooCommerce
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: POST
        c-uri|contains: 
            - '/wp-admin/admin-ajax.php'
            - '/wp-admin/admin-post.php'
        cs-uri-query|contains: 'action=product_configurator'
    condition: selection
falsepositives:
    - Legitimate admin actions
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-54674 CSRF Attempt - Product Configurator for WooCommerce"; flow:to_server,established; http.method; content:"POST"; http.uri; content:"/wp-admin/admin-ajax.php"; http.client_body; content:"action=product_configurator"; nocase; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until an official patch is released. This is the most effective mitigation.
  2. If disabling is not possible, implement a Web Application Firewall (WAF) rule to block requests to the plugin's AJAX endpoints without a valid nonce.
  3. Add custom CSRF protection by modifying the plugin code (if you have development resources) to include nonce checks.

Long-term Recommendations:

  • Monitor the vendor's repository for updates and apply patches immediately.
  • Conduct a security audit of all WordPress plugins for similar CSRF vulnerabilities.
  • Implement Content Security Policy (CSP) headers to reduce the impact of XSS and CSRF.
  • Use WordPress security plugins that add CSRF tokens to all forms.

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:"Product Configurator for WooCommerce"
http.html:"product-configurator-for-woocommerce"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-54674/ · 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.