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

CVE-2025-54025

CVE-2025-54025 Missing Authorization in Relywp
📅 PUBLISHED: 2025-08-20 08:15 UTC 🔄 UPDATED: 2026-08-18 18:54 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.0× 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 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54025 is a Missing Authorization vulnerability in the Coupon Affiliates WordPress plugin (by Elliot Sowersby / RelyWP). The flaw resides in the woo-coupon-usage component, allowing unauthenticated attackers to exploit incorrectly configured access control security levels. This vulnerability affects all versions up to and including 6.4.0. As of this report, no official patch has been released, and no public proof-of-concept (PoC) or exploit code is available. The CVSS score of 6.5 (Medium) reflects the potential for unauthorized data access and limited integrity impact without requiring authentication or user interaction.

⚡ 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 ecosystem and the Coupon Affiliates plugin. It is not related to NPM, PyPI, Go, or Ruby packages. The plugin is distributed via the WordPress plugin repository and third-party marketplaces. Organizations using this plugin should treat it as a high-risk supply chain component due to the lack of a patch.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
  • Base Score: 6.5 (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: Low (I:L)
  • Availability Impact: None (A:N)

Threat Level: Medium. The vulnerability is easily exploitable remotely without authentication, but the impact is limited to low-level data exposure and potential manipulation of coupon-related data.

Deep Dive & Mechanics

The vulnerability stems from Missing Authorization (CWE-862) in the woo-coupon-usage functionality of the Coupon Affiliates plugin. The plugin fails to properly enforce access control checks on certain REST API endpoints or AJAX actions, allowing unauthenticated users to:

  • View coupon usage statistics and affiliate data.
  • Modify coupon settings or affiliate links.
  • Access internal plugin configurations.

The flaw is likely in the wp_ajax_* or wp_ajax_nopriv_* hooks where the plugin does not verify user capabilities (e.g., manage_options or edit_posts) before processing requests. This allows any visitor to the site to trigger privileged actions.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code pattern is hypothesized based on common WordPress plugin authorization flaws:

Vulnerable Code (hypothetical):

add_action('wp_ajax_nopriv_coupon_affiliates_get_stats', 'coupon_affiliates_get_stats');
function coupon_affiliates_get_stats() {
    // No capability check
    $stats = get_option('coupon_affiliates_stats');
    wp_send_json_success($stats);
}

Patched Code (expected):

add_action('wp_ajax_coupon_affiliates_get_stats', 'coupon_affiliates_get_stats');
function coupon_affiliates_get_stats() {
    if (!current_user_can('manage_options')) {
        wp_die('Unauthorized', 403);
    }
    $stats = get_option('coupon_affiliates_stats');
    wp_send_json_success($stats);
}

The patch would require adding current_user_can() checks and removing nopriv hooks for sensitive actions.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Target WordPress site with Coupon Affiliates <= 6.4.0 installed and activated.
  • No authentication required.

Exploitation Steps:

  1. Identify the vulnerable endpoint (e.g., /wp-admin/admin-ajax.php?action=coupon_affiliates_get_stats).
  2. Send a crafted request without any authentication cookies:
    curl -X POST "http://target.com/wp-admin/admin-ajax.php" \
         -d "action=coupon_affiliates_get_stats"
    
  3. If successful, the response will contain sensitive data (e.g., coupon usage, affiliate IDs).

Note: No public exploit code is available. The above is a hypothetical example based on common patterns.

Blue Team

Detection & Hardening:

  • Monitor for unexpected admin-ajax.php requests with action parameters related to coupon_affiliates.
  • Implement a Web Application Firewall (WAF) rule to block unauthenticated access to plugin-specific AJAX actions.
  • Disable the plugin until a patch is released.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /wp-admin/admin-ajax.php with action=coupon_affiliates_* parameters from unauthenticated sources.
    • Unusual spikes in admin-ajax.php traffic from single IPs.
  • File IOCs:
    • Modified plugin files in /wp-content/plugins/coupon-affiliates/ (e.g., woo-coupon-usage.php).
  • Log IOCs:
    • WordPress debug logs showing wp_ajax_nopriv_* calls for coupon_affiliates actions.

Detection Engineering

YARA Rule

rule CVE_2025_54025_Coupon_Affiliates_Missing_Auth {
    meta:
        description = "Detects missing authorization in Coupon Affiliates plugin"
        author = "Valters IT"
        date = "2025-04-01"
        cve = "CVE-2025-54025"
    strings:
        $s1 = "wp_ajax_nopriv_coupon_affiliates" ascii wide nocase
        $s2 = "woo-coupon-usage" ascii wide nocase
        $s3 = "current_user_can" ascii wide nocase
    condition:
        $s1 and $s2 and not $s3
}

Sigma Rule

title: CVE-2025-54025 - Coupon Affiliates Missing Authorization
id: 8a4b3c2d-1e5f-4a6b-8c7d-9e0f1a2b3c4d
status: experimental
description: Detects unauthenticated access to Coupon Affiliates AJAX endpoints
author: Valters IT
date: 2025-04-01
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-ajax.php'
        cs-uri-query|contains: 'action=coupon_affiliates_'
        sc-status: 200
    condition: selection
falsepositives:
    - Legitimate admin actions (requires authentication)
level: high

Suricata Rule

alert http any any -> any any (
    msg:"CVE-2025-54025 - Coupon Affiliates Missing Authorization Attempt";
    flow:to_server;
    content:"POST";
    http_method;
    content:"admin-ajax.php";
    http_uri;
    content:"action=coupon_affiliates_";
    http_client_body;
    sid:1000001;
    rev:1;
    metadata:created_at 2025-04-01, updated_at 2025-04-01;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released by the vendor.
  2. Implement a WAF rule to block unauthenticated requests to admin-ajax.php with action=coupon_affiliates_* parameters.
  3. Monitor logs for exploitation attempts using the Sigma rule above.

Long-term Fix:

  • Apply the vendor patch when available (check RelyWP website or WordPress plugin repository).
  • If no patch is forthcoming, consider replacing the plugin with an alternative that has proper authorization checks.

Workaround:

  • Add a custom function to your theme's functions.php to enforce capability checks:
add_action('init', function() {
    if (defined('DOING_AJAX') && DOING_AJAX) {
        if (strpos($_REQUEST['action'], 'coupon_affiliates_') === 0) {
            if (!current_user_can('manage_options')) {
                wp_die('Unauthorized', 403);
            }
        }
    }
});

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:"Coupon Affiliates"
http.html:"woo-coupon-usage"

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