☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Royal elementor addons logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.1 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-1441

CVE-2025-1441 Cross-Site Request Forgery in Royal elementor addons
📅 PUBLISHED: 2025-02-19 04:21 UTC 🔄 UPDATED: 2026-08-12 14:53 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.19%
👁️
0.19% probability
4.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
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 6.1
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
6.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-1441 is a Cross-Site Request Forgery (CSRF) vulnerability identified in the Royal Elementor Addons and Templates plugin for WordPress, affecting all versions up to and including 1.7.1007. The vulnerability resides in the wpr_filter_woo_products function, which lacks proper nonce validation. This flaw allows an unauthenticated attacker to craft a malicious request that, when triggered by a logged-in site administrator (e.g., via a link click), can inject arbitrary web scripts into the WordPress site. The attack leverages the administrator's session to perform unauthorized actions, leading to potential data theft, defacement, or further compromise.

As a WordPress plugin vulnerability, this issue is specific to the WordPress ecosystem and does not involve server-level components like Apache or Nginx. The plugin is widely used for building WooCommerce product filters, making this a high-risk vector for e-commerce sites.

⚡ 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 affects a WordPress plugin distributed via the official WordPress plugin repository. Users are advised to monitor the plugin's update channel for a patched version. Since no official patch is available at the time of analysis, manual mitigation is required.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.1 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (administrator must click a link)
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: None

The threat level is elevated due to the low complexity and the potential for script injection, which can lead to session hijacking or malware distribution.

Deep Dive & Mechanics

The vulnerability is a classic CSRF with stored XSS implications. The wpr_filter_woo_products function in the Royal Elementor Addons plugin processes AJAX requests to filter WooCommerce products. Due to missing or incorrect nonce validation, the function does not verify the origin of the request. An attacker can craft a malicious HTML page or email containing a forged request (e.g., via an <img> tag or a form submission) that, when visited by an authenticated administrator, executes the wpr_filter_woo_products action with attacker-controlled parameters.

The function likely accepts parameters such as filter_data or similar, which are not sanitized before being stored or reflected. This allows the attacker to inject JavaScript or HTML into the WordPress database or output, leading to stored XSS. The injected script can then execute in the context of any user viewing the affected page, including other administrators or visitors.

Attack Flow:

  1. Attacker identifies a target site running the vulnerable plugin.
  2. Attacker crafts a CSRF payload that triggers the wpr_filter_woo_products function with malicious script content.
  3. Attacker lures an authenticated administrator to click a link or visit a page containing the payload.
  4. The administrator's browser sends the forged request, which the plugin processes without nonce validation.
  5. The malicious script is stored in the WordPress database (e.g., as a filter option) and executed when the filter is rendered.
  6. The script can steal cookies, redirect users, or perform other malicious actions.

Vulnerable vs. Patched Code

Since no official patch is available, the vulnerable code is identified as the wpr_filter_woo_products function in the plugin's main file (likely royal-elementor-addons.php or a similar AJAX handler). The missing nonce check is the core issue.

Vulnerable Code (Conceptual):

add_action('wp_ajax_wpr_filter_woo_products', 'wpr_filter_woo_products');
add_action('wp_ajax_nopriv_wpr_filter_woo_products', 'wpr_filter_woo_products');

function wpr_filter_woo_products() {
    // No nonce verification
    $filter_data = $_POST['filter_data'];
    // Process and store filter data without sanitization
    update_option('wpr_woo_filter_data', $filter_data);
    // Output response
    echo json_encode(array('success' => true));
    wp_die();
}

Patched Code (Expected):

add_action('wp_ajax_wpr_filter_woo_products', 'wpr_filter_woo_products');
add_action('wp_ajax_nopriv_wpr_filter_woo_products', 'wpr_filter_woo_products');

function wpr_filter_woo_products() {
    // Verify nonce
    if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'wpr_filter_woo_nonce')) {
        wp_die('Security check failed.');
    }
    $filter_data = sanitize_text_field($_POST['filter_data']);
    // Process and store filter data
    update_option('wpr_woo_filter_data', $filter_data);
    echo json_encode(array('success' => true));
    wp_die();
}

The patch adds a nonce check and input sanitization. Without the patch, the function is vulnerable to CSRF and XSS.

Exploitation & Lab Setup

Red Team (Attacker) Setup

Prerequisites:

  • A WordPress site with Royal Elementor Addons <= 1.7.1007 installed and activated.
  • An authenticated administrator session (target).

Exploitation Steps:

  1. Craft the CSRF Payload: Create an HTML file that sends a POST request to the vulnerable AJAX endpoint.
    <html>
    <body>
    <form action="http://target-site.com/wp-admin/admin-ajax.php" method="POST">
        <input type="hidden" name="action" value="wpr_filter_woo_products">
        <input type="hidden" name="filter_data" value="<script>alert('XSS')</script>">
        <input type="submit" value="Click me">
    </form>
    <script>document.forms[0].submit();</script>
    </body>
    </html>
    
  2. Host the Payload: Host the HTML file on an attacker-controlled server or use a URL shortener.
  3. Deliver the Payload: Send the link to the target administrator via email, social engineering, or a compromised site.
  4. Execute: When the administrator clicks the link, the CSRF request is sent, and the malicious script is stored.
  5. Trigger XSS: Visit any page that renders the stored filter data (e.g., a WooCommerce shop page) to execute the script.

Alternative Payload (Image Tag):

<img src="http://target-site.com/wp-admin/admin-ajax.php?action=wpr_filter_woo_products&filter_data=<script>alert('XSS')</script>" style="display:none;">

Blue Team (Defender) Setup

Detection:

  • Monitor for unusual AJAX requests to admin-ajax.php with the action parameter set to wpr_filter_woo_products.
  • Look for requests from unauthenticated users (no nonce) or with suspicious filter_data values containing script tags.

Honeypot:

  • Deploy a WordPress honeypot that logs all AJAX requests and alerts on missing nonces.

Mitigation:

  • Implement a Web Application Firewall (WAF) rule to block requests to admin-ajax.php with action=wpr_filter_woo_products unless a valid nonce is present.
  • Disable the plugin until a patch is available.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /wp-admin/admin-ajax.php with action=wpr_filter_woo_products and no _wpnonce parameter.
    • Requests containing filter_data with HTML/JavaScript content (e.g., <script>, <img onerror=, etc.).
  • File IOCs:
    • Modified wp_options table entries containing wpr_woo_filter_data with script content.
  • Log IOCs:
    • WordPress debug logs showing unexpected AJAX calls from unauthenticated users.
    • Web server logs with admin-ajax.php requests from unusual referrers.

Detection Engineering

YARA Rule

rule CVE_2025_1441_CSRF_XSS {
    meta:
        description = "Detects CSRF/XSS attempts against Royal Elementor Addons CVE-2025-1441"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-1441"
    strings:
        $ajax_action = "wpr_filter_woo_products"
        $filter_data = "filter_data"
        $xss_pattern = /<script[^>]*>.*<\/script>/i
        $xss_img = /<img[^>]+onerror\s*=/i
    condition:
        $ajax_action and $filter_data and ($xss_pattern or $xss_img)
}

Sigma Rule

title: CVE-2025-1441 CSRF/XSS Attempt
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects CSRF attempts targeting Royal Elementor Addons wpr_filter_woo_products function
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        c-uri: '/wp-admin/admin-ajax.php'
        cs-uri-query: 'action=wpr_filter_woo_products'
    condition: selection
falsepositives:
    - Legitimate plugin usage with nonce
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-1441 CSRF/XSS Attempt"; flow:to_server; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=wpr_filter_woo_products"; http_client_body; pcre:"/<script[^>]*>.*<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Actions:

    • Disable the Royal Elementor Addons plugin until a patched version is released.
    • Implement a WAF rule to block requests to admin-ajax.php with action=wpr_filter_woo_products without a valid nonce.
    • Review WordPress user roles and ensure only trusted administrators have elevated privileges.
  2. Long-term Fix:

    • Apply the official patch when released by the vendor.
    • Add nonce validation to all AJAX functions in custom plugins.
    • Sanitize and escape all user inputs before storage or output.
  3. Monitoring:

    • Enable WordPress debug logging to capture suspicious AJAX requests.
    • Use a security plugin (e.g., Wordfence) to monitor for CSRF and XSS attempts.
  4. User Education:

    • Train administrators to avoid clicking suspicious links and to verify the authenticity of requests.

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:"Royal Elementor Addons"
http.html:"wp-content/plugins/royal-elementor-addons"

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